2013-11-29 3 views
7

Я нахожу этот интересный вопрос, так как ресурса еще не обсуждали этот вопрос: как вы имеете дело с символами, которые имеют смысловое значение при написании доступной разметки?Как бороться с семантическими символами для доступности в HTML?

Примерами могут быть такие символы, как «&», «$», «*», «-», «~» и т. Д. Возможно, читатель экрана достаточно умен, чтобы читать «&» как «и», «$» как «доллар» и т. д., но некоторые символы не всегда имеют окончательный смысл в каждом сценарии. Например, когда вы видите «2 - 3 января 2013 года» или «2 - 3 января 2013 года», вы знаете, что «-» и «~» означает «от ... до ...». Но как я могу кодировать это значение в разметку? Должен ли я использовать тег <abbr> как Jan 2 <abbr title="to">~</abbr> 3, 2013?

+1

Вы привыкли читать дефисы как диапазон. Слепые люди тоже. – zzzzBov

+1

'&' и '&' будут прочитаны одинаково. Некоторые вспомогательные технологии скажут «и», а другие скажут «амперсанд». Чтобы быть действительным HTML, вы должны использовать '&'. –

ответ

3

Вам не нужно ничего особенного со специальными символами. Вы привыкли к интерпретации символов для их различных значений, а люди, использующие вспомогательные технологии, также используются для интерпретации символов для их различных значений.

В случае, если вам было, необходимо добавить дополнительную информацию, если вы используете изображение символа или нестандартное значение.

+0

Я вижу, хороший момент, но разве это было бы странно, если бы вы услышали «два двадцатых два тридцать тринадцать»? –

+0

@ Xavier_Ex, это странно для вас, потому что вы не привыкли его слышать. Для тех, кто регулярно использует программу чтения с экрана, это вполне естественно. Цель состоит не в том, чтобы читать, как человек, цель состоит в том, чтобы идентифицировать все на экране. Кроме того, читатели с экрана читают текст намного быстрее, чем вам или мне может быть удобно. – zzzzBov

+0

Я видел людей, использующих ассистивных читателей, и они говорят довольно быстро. В общем, вы сделали хорошие выводы о том, что «вещи доступны, не обязательно означает, что вещи естественны» или, по крайней мере, не обязательно естественны для нас, которые не полагаются на помощников. –

5

У читателей экрана есть свои способы чтения символов, но от них нельзя ожидать особого умения. Для большинства специальных персонажей они говорят только о некотором имени для персонажа, независимо от контекста и смысла.

Существует не так много, что вы можете с этим поделать. Вы можете использовать разметку span с атрибутом title, содержащим объяснение, но в основном это будет проигнорировано. Есть несколько более эффективная поддержка для abbr, хотя сомнительно использовать ее для специальных символов. Что еще более важно, как говорит a W3C WAI document: «JAWS 6.2 и выше и WindowEyes 5.0 и выше поддерживают элементы abbr и acronym. Они могут быть настроены на то, чтобы говорить атрибут title, когда эти элементы встречаются, но это не значение по умолчанию и часто не включено пользователями ».

Итак, что вы можете сделать, это написать как можно более естественно, например «2-3 января 2013 года» (используя дефис, а не дефис, согласно руководствам по английскому языку).

+0

Спасибо за информацию, я всегда буду использовать естественные и «правильные» символы для этой цели. –

+0

Возможно, элемент 'kbd' лучше, чем' span'? Представьте, что вы указываете инструкции, для которых специальные символы могут использоваться в пароле. Сам по себе «kbd», похоже, не передает «контент» читателю экрана, но с заголовком, похоже, делает трюк: '! '. –

Смежные вопросы