У меня есть форма поиска, которая использует API распознавания речи Webkit. Я хотел бы предоставить другую форму для браузеров, которые не поддерживают API.
Что-то вроде этого:
/**
* Generate custom search form
*
* @param string $form Form HTML.
* @return string Modified form HTML. */
add_filter( 'genesis_search_form', 'my_search_form', 10, 4);
function my_search_form( $form ) {
if (!('someConditional)) {
$form = '<form id="my-search" itemscope itemprop="potentialAction" itemtype="https://schema.org/SearchAction" method="get" action="https://mercury.photo/">
<div class="speech">
<label class="search-form-label screen-reader-text" for="s">Search …</label><input type="text" name="s" placeholder="Search …" />
<span id="search-mic"><i class="fas fa-search-alt"></i></span>
</div>
</form>';
} else {
$form = '<form id="my-voice-search" class="fubar" itemscope itemprop="potentialAction" itemtype="https://schema.org/SearchAction" method="get" action="https://mercury.photo/">
<div class="speech">
<label class="search-form-label screen-reader-text" for="s">Search (type or speak) …</label><input type="text" name="s" id="transcript" placeholder="Search (type or speak) …" />
<span id="search-mic" onclick="startDictation()"><i class="fas fa-microphone-alt"></i></span>
</div>
</form>';
}
return $form;
}
Есть ли в PHP надежный способ проверки поддержки распознавания речи Webkit?
Задача ещё не решена.
Других решений пока нет …