Могу ли я настроить язык словаря, используемый атрибутом проверки орфографии, на моих элементах формы?

Мне нужно добавить атрибут spellcheck к нескольким элементам <textarea> и <input>. Мой вопрос: "Является ли версия английского, которую spellcheck придерживается настраиваемой?" Я в Австралии, и мы используем британский английский. Я понимаю, что проверка орфографии настроена на американский английский по умолчанию.

Имеет ли он какое-либо отношение к атрибуту lang, который первоначально установлен в элементе html?

Ответ 1

Я считаю, что я получил ответ на этот вопрос и был обучен английскому языку в процессе.

Ссылка W3C коды языков предполагает, что версия английского языка не настраивается. Тем не менее, я нашел более подробную Примечание рабочей группы W3C, которая гласит:

Примечание 2: Разрешенные значения для атрибутов lang и xml: lang указаны в ресурсах, указанных ниже. Языковые теги используют основной код для указания языка и необязательные подкоды (разделенные символами дефиса), чтобы указать варианты языка. Например, на английском языке указывается первичный код "en"; Британский английский и американский английский можно отличить, используя "en-GB" и "en-US", соответственно. Для этого метода важно использовать первичный код. Использование подкодов является необязательным, но может быть полезно при определенных обстоятельствах.

Вот полный список подкодов: ISO 3166-1 alpha-2.

Это означает, что любое одно из следующих значений технически справедливо; lang="en-AU", lang="en-GB" и lang="en-US".

Я провел два теста, чтобы определить, как spellcheck вел себя с этими субкодами языка (см. фрагмент). Я проверил эти тесты на macOS High Sierra Version 10.13.2 в Safari версии 11.0.2, в Chrome версии 63.0.3239.132 и в Firefox версии 57.0.4 и имел смешанные результаты.

Нет для проверяемых браузеров, по-видимому, влияют объявления объявлений lang, сделанные для различных элементов. Я тестировал со словарями, включенными и выключенными на системном уровне.

Я сначала тестировал Safari и Chrome и имел тот же результат: введите описание изображения здесь

Затем я протестировал Firefox и получил этот результат: введите описание изображения здесь

Итак, суммируя: "Да", версия английского языка настраивается при использовании атрибута lang. "Нет", spellcheck, похоже, не может быть настроен для языка, который вы объявляете с помощью атрибута lang, но вместо версии, настроенной на браузер, вместо этого.

Я надеюсь, что этот ответ поможет кому-то еще.

<!-- Test #1 -->
<textarea lang="en-AU" spellcheck="true"></textarea>
<textarea lang="en-GB" spellcheck="true"></textarea>
<textarea lang="en-US" spellcheck="true"></textarea>
<div contenteditable="true" lang="en-AU" spellcheck="true">insert spelling</div>
<div contenteditable="true" lang="en-GB" spellcheck="true">insert spelling</div>
<div contenteditable="true" lang="en-US" spellcheck="true">insert spelling</div>