Как разметить текст на нечеловеческом языке в HTML?
Учитывая потребности программ чтения с экрана, проверки орфографии браузера, поисковых систем и т.д. как должен быть помечен текст на нечеловеческом языке в HTML?
Должен ли он быть завернут в определенный тег?
Существует ли стандартный специальный атрибут lang
для заключающего тега (например. ""
)?
Обратите внимание, что мы, возможно, захотим отметить ввод формы как принимающий какой-то текст на нечеловеческом языке.
Примеры текста на нечеловеческом языке:
- короткое криптографический хэш
- большой блок зашифрованных данных
- собственная формальная нотация
- Искусство ASCII
3 answers
Это зависит от фактического содержимого (существует важное различие, например, между хэшем и ASCII-изображением) и контекста (редактируемый или представленный контент). Поэтому после выбора соответствующего элемента (и, возможно, WAI-ARIA) HTML5 предлагает следующие варианты:
-
Языковой тег
zxx
( IETF BCP (IETF BCP) 47/ Реестр IANA) может использоваться для "без лингвистического контента":<span lang="zxx"><!-- … --></span>
-
Атрибут
translate
(HTML5) может использоваться для укажите, что содержимое не должно быть переведено:<span translate="no"><!-- … --></span>
-
Атрибут
spellcheck
(HTML5) можно использовать, чтобы указать, что редактируемый контент не следует проверять на наличие орфографических/грамматических ошибок:<textarea spellcheck="false"><!-- … --></textarea>
Мне нравится использовать тег для чего-либо, похожего на код, хэш-иш (каламбур) или блоки данных. Я использую тег
для отображения прямого вывода ascii (например, захватов экрана с мэйнфреймов или рисунков).
Нет конкретных рекомендаций для WCAG 2.0 или даже в HTML5 (пока). Вероятно, вы можете обернуть его тегом <code>
(как предложил Джоэл Этертон).
Искусство ASCII, однако, отличается. WCAG рекомендует предоставить пользователю текстовое описание и способ пропустить его. См. H86.