Википедия:Доступность
Эта страница планируется к включению в справочную систему Википедии в качестве руководства. |
Вкратце: страницы Википедии должны быть удобными для навигации и чтения для людей с ограниченными возможностями. |
Цель веб-доступности — сделать веб-страницы более удобными для навигации и чтения. В первую очередь это помогает людям с ограниченными возможностями, но многие практики веб-доступности полезны всем читателям. Мы стремимся придерживаться Руководства по обеспечению доступности веб-контента[en] версии 2.1[1], на которых и основаны следующие рекомендации. Страницы, которые следуют им, проще читать и редактировать каждому.
14 января 2006 года правление «Фонда Викимедиа» приняло следующую резолюцию о недискриминации:
«Фонд Викимедиа запрещает дискриминацию нынешних или потенциальных пользователей и сотрудников по признаку расы, цвета кожи, пола, религии, национального происхождения, возраста, инвалидности, половой ориентации или любых других охраняемых законом характеристик. Фонд Викимедиа придерживается принципа равных возможностей, особенно во всех аспектах отношений с сотрудниками, включая приём на работу, управление заработной платой, развитие сотрудников, продвижение по службе и перевод».
Политики «Фонда Викимедиа» «не могут обойти, подорвать или проигнорировать ни должностные лица или сотрудники Фонда Викимедиа, ни местные правила любого проекта Викимедиа»[2].
Структура статьиПравить
Стандартизация структуры статей улучшает доступность, так как позволяет пользователям знать, что содержимое будет находиться в определённой части страницы. Например, если слабовидящие пользователи ищут ссылки на страницы неоднозначности и не находят их сверху страницы, они будут знать, что их нет на этой странице, и им не нужно продолжать чтение всей страницы, чтобы узнать это.
Стандартизация структуры статей уже является принятой практикой в Википедии, см. руководства в Википедия:Оформление статей § Структура статьи и Википедия:Оформление статей § Деление на разделы.
ЗаголовкиПравить
Заголовки должны описывать содержимое разделов и располагаться в последовательном порядке.
Размещайте заголовки последовательно, начиная со 2-го уровня (==
), затем 3-го (===
) и т. д. (1-й уровень — автоматически сгенерированный заголовок всей страницы.) Не пропускайте уровни заголовков, например, используя заголовки для выделения — это не их семантическая цель.
Правильно | Хаотично | Пропущены уровни |
---|---|---|
[Здесь преамбула статьи] |
[Здесь преамбула статьи] |
[Здесь преамбула статьи] |
Не используйте разметку точки с запятой (используемой для создания списков описаний) для создания псевдозаголовков, и старайтесь избегать использования псевдозаголовков через полужирный шрифт. Программы чтения с экрана и другие вспомогательные технологии могут использовать только заголовки, размеченные через разметку заголовка. Для уменьшения размера содержания статьи используйте шаблон {{TOC limit}}. В случае, если {{TOC limit}} не может использоваться из-за полезных заголовков в других местах статьи, использование полужирного шрифта для под-под-под-заголовков вызывает наименьшее число проблем для пользователей программ чтения с экрана. Использование псевдозаголовков должно означать, что вы исчерпали все другие варианты, и должно быть редким.
Допустимо | Неправильно |
---|---|
[Здесь преамбула статьи] |
[Здесь преамбула статьи] |
Выносные элементыПравить
Размещайте выносные элементы (располагающиеся слева/справа от основного текста), включая изображения, внутри разделов, к которым они принадлежат. Не размещайте изображения, относящиеся к определённому разделу, в конце предыдущего раздела.
В зависимости от разных факторов, расположение нескольких изображений друг под другом рядом с коротким текстом может привести к тому, что изображения будут отображаться как часть следующих разделов. Это не проблема доступности, так как программы чтения с экрана читают альтернативный текст (alt=
[3]) каждого изображения в том месте, где оно располагается в коде страницы.
РазрешениеПравить
Статьи Википедии должны быть доступны читателям, использующим устройства с малыми разрешениями экрана или небольшими экранами. Минимальное разрешение, которое считается возможным поддерживать без отрицательного эффекта для других пользователей, — 1024×768. Все статьи должны выглядеть приемлемо в этом разрешении без чрезмерной горизонтальной прокрутки. Иногда это является проблемой в статьях с несколькими изображениями по обе стороны от текста. Хотя на низких разрешениях браузеры будут стараться растянуть абзацы по вертикали, старайтесь не добавлять изображения или другие выносные элементы по обеим сторонам от текста одновременно. Большие таблицы и изображения также могут создавать проблемы: иногда горизонтальной прокрутки не избежать, но следует попытаться переделывать чрезмерно широкие таблицы, чтобы они растягивались вертикально, а не горизонтально.
ТекстПравить
По умолчанию большинство средств чтения с экрана не презентационные текстовые атрибуты (жирный, курсив, подчеркивание, моноширинный, зачеркнутый) или даже семантические текстовые атрибуты (выделение, важность, удаление текста), поэтому зачеркнутый текст читается ровно также как и любой другой текст. (Редакторам, использующим программы чтения с экрана, которые участвуют в обсуждениях в Википедии, рекомендуется включать уведомления об атрибутах текста, поскольку вычеркнутый текст очень распространен во внутренних обсуждениях
Поскольку зачёркивание[en] обычно игнорируется программами чтения с экрана, его использование в статьях (например, для отображения изменений при текстовом анализе) без дублирования иным способом вызовет проблемы с доступностью и явную путаницу. Это относится как к элементам <s>
и <del>
(вместе с соответствующими им <ins>
, обычно визуально отображаемыми как подчеркнутый), так и к шаблонам, которые их используют. Не используйте зачеркивание для возражения против контента, который вы считаете неуместным или неправильным. Вместо этого закомментируйте его с помощью <!--и -->
, полностью удалите или используйте шаблоны исправления статьи и поднимите вопрос на странице обсуждения.
Средства чтения с экрана поддерживают нестандартные символы в тексте на русском языке по-разному, и предположения о том, как будут произноситься те или иные символы, могут оказаться неверными. Если они не распознаются программой чтения с экрана или синтезатором речи, они могут произноситься как вопросительный знак или полностью исключаться из речевого вывода.
- Не используйте графические символы, такие как ♥ (символ сердца), (если скрин-ридеры не читают их или на проверку значение прочтённого отличается от подразумеваемой иконкой информации[4]), вместо этого используйте иконку-картинку с прописанной текстом информацией в alt атрибуте. Предварительно желательно проверить, что графический символ скрин-ридеры могут произнести и произносят текстом, отражающим именно нужное значение, которое легко возникает при визуальном восприятии.
- Для символов, вызывающих проблемы у программ чтения с экрана, уже могут быть созданы шаблоны создающие изображения и замещающий текст. Примером может служить шаблон стрелки {{→}} (см. категория «Шаблоны:Иконки»).
Последовательность символов должна быть достаточной для передачи смысловой части текста (и, желательно, других подобных форм содержания). Полагаться на пользовательские «специальные символы», отличающиеся только свойствами CSS или вики-разметкой, недопустимо.
Не используйте методы, требующие взаимодействия для получения доступа к информации, такие как всплывающие подсказки или любой другой текст по наведению курсора. Исключением являются аббревиатуры и их расшифровка, которые можно оформлять через шаблон {{abbr}} (оболочка для элемента <abbr>
).
Не вставляйте переносы строк внутри предложений, так как это затрудняет редактирование с помощью программ чтения с экрана. Предложения могут разделяться одиночными переносами строк, если это предпочитается авторами.
Ошибочное использование символов латинского алфавита вместо символов кириллицы или наоборот (кирлат) недопустимо.
Размер шрифтаПравить
Участникам следует избегать ручного увеличения и уменьшения размера шрифта без особой необходимости[5]. Увеличенный и уменьшенный размер шрифта в основном нужно задавать автоматическими средствами, такими как заголовки разделов и таблиц или шаблоны, сделанные с особым вниманием к оформлению. Уменьшенный размер шрифта может также понадобиться больши́м таблицам, чтобы они поместились на экран.
Если увеличенный или уменьшенный размер шрифта необходим, его следует задавать в процентных единицах (например, 90%
), а не в абсолютных (12.6px
). Это повышает доступность для слабовидящих пользователей, использующих размер шрифта, больший стандартного. Уменьшенный размер шрифта нужно использовать умеренно. Избегайте уменьшения размера шрифта в блоках, которые уже используют уменьшенный размер, таких как шаблоны-карточки, навигационные шаблоны, врезки, подписи к изображениям и секции примечаний.
Итоговый размер шрифта ни при каких обстоятельствах не должен быть меньше 85 % размера шрифта страницы (11,9px в теме «Векторная» или 10,8px в теме «Monobook»).
Обратите внимание, что HTML-тег <small>
предназначен для выделения важной информации, набираемой мелким шрифтом[en], поэтому его не следует использовать для чисто визуальных изменений (для этого есть шаблоны {{small}} и {{smalldiv}}).
Другие языкиПравить
Текст или отдельные слова не на русском языке должны быть обёрнуты в Шаблон:lang, который использует определённые ИСО 639 коды языков, или же шаблон конкретного языка, например Шаблон:lang-en. Шаблоны добавляют атрибут lang, благодаря чему синтезаторы речи могут произнести эту часть текста на правильном языке (например, синтезатор eSpeak NG; не все синтезаторы это поддерживают[6]).
СсылкиПравить
- Указывайте содержательные описания ссылок, особенно внешних (в частности, избегайте писать «нажмите сюда!», «это» и т. д.)[7][8].
- Не используйте символы Unicode в тексте ссылки как иконку-ссылку, вместо этого используйте иконку-картинку с заданным alt текстом. Например, символ «→» некоторые скрин-ридеры могут не произнести или произнесённое «ссылка стрелка вправо» будет не так полезно как, например, текст «ссылка переход к месту в тексте» или символ и текст вместе «→ переход» «ссылка стрелка вправо переход».
Цветовое оформлениеПравить
При использовании цветовых схем, отличных от стандартных, в шаблонах и статьях участникам стоит проверять их контрастность на соответствие требованиям руководства по обеспечению доступности веб-контента версии 2.0. Контрастность цветовых схем на сайте является важной как для пользователей с различными видами цветовой слепоты, так и без неё.
Обязательный коэффициент цветовой контрастности (уровень AA) — не менее 4,5:1, для текста размером больше 18 пунктов (24 пикселя) в обычном начертании или 14 пунктов (19 пикселей) в полужирном — не менее 3:1. Проверить контрастность цветовой схемы можно с помощью шаблона {{Цветовой контраст}} или на внешних сайтах (webaim.org, contrast-ratio.com). Участники могут убирать цветовые схемы, которые ухудшают контрастность для пользователей, из статей и шаблонов.
Для элементов интерфейса в Википедии используется цветовая палитра из руководства по стилю Викимедиа. Вы можете использовать цвета из этой палитры при создании сложных элементов для использования в статьях.
В навигационных шаблонах, карточках и таблицах не следует изменять стандартные цвета ссылок. Это не относится к таблицам-схемам, цвета фона ячеек которых несут информационный характер, и подписям, накладываемым на изображения. Консенсуса сообщества о применимости этой нормы руководства к шаблонам составов спортивных команд и маршрутным картам нет[9].
СпискиПравить
Не разделяйте элементы списка, оставляя пустые строки или разрывы столбцов таблицы между ними. Это относится к элементам в списке описаний (список, создаваемый с помощью ведущего символа точки с запятой или двоеточия, что также часто можно встретить на страницах обсуждений), в упорядоченном списке или неупорядоченном списке. Списки предназначены для группировки взаимосвязанных элементов, но строкой видимая группировка на деле нарушается — пустая строка будет интерпретирована Медиавики как конец одного списка и начало нового списка. Чрезмерное количество двойных переносов строк также мешает работе скрин-ридеров, которые будут объявлять множество списков в том случае, когда предполагался только один список, и, таким образом, может вводить в заблуждение или сбивать с толку пользователей этих программ. Такое ненадлежащее форматирование также может более чем в три раза увеличить время, необходимое им для зачитывания списка.
Аналогичным образом, не меняйте тип начальных маркеров списка (символы двоеточия, звёздочки или решётки) в одном списке (для программ два уровня списка — это список и вложенный список, один список — это один уровень списка). Когда отступ делается в ответе к комментарию, который уже начинался с любого смешанного чередования двоеточий и звёздочек, а иногда и знаков решётки, необходимо скопировать последовательность, какой бы она ни была, этих использованных выше символов и добавить ещё один подобный символ. В качестве альтернативы, просто вставьте Шаблон:Outdent и начните новое обсуждение (например, новым HTML-списком первого уровня).
Например, в обсуждении, следуйте этой наилучшей практике:
* Поддерживаю. Мне нравится эта идея. —Участник:Пример
** Вопрос: Что вам в этом нравится? —Участник:Пример2
*** Это кажется соответствует духу Википедии. —Участник:Пример
или , в немаркированном обсуждении:
: Поддерживаю. Мне нравится эта идея. —Участник:Пример
:: Вопрос: Что вам в этом нравится? —Участник:Пример2
::: Это кажется соответствует духу Википедии. —Участник:Пример
Это тоже приемлемая практика (для подавления маркера в ответе):
* Поддерживаю. Мне нравится эта идея. —Участник:Пример
*: Вопрос: Что вам в этом нравится? —Участник:Пример2
*:: Это кажется соответствует духу Википедии. —Участник:Пример
Но не делайте так (происходит переключение типа первого списка с маркированного списка на список описаний):
* Поддерживаю. Мне нравится эта идея. —Участник:Пример
:: Вопрос: Что вам в этом нравится? —Участник:Пример2
и не так (тоже происходит переключение типа первого списка с маркированного списка на список описаний):
* Поддерживаю. Мне нравится эта идея. —Участник:Пример
:* Вопрос: Что вам в этом нравится? —Участник:Пример2
и не так (была оставлена пустая строка между элементами списка):
* Поддерживаю. Мне нравится эта идея. —Участник:Пример
** Вопрос: Что вам в этом нравится? —Участник:Пример2
и не так (перепрыгивание больше чем на один уровень списка):
* Поддерживаю. Мне нравится эта идея. —Участник:Пример
*** Вопрос: Что вам в этом нравится? —Участник:Пример2
Это в общем случае снижает уверенность (встретившись с не очень логичными чередованиями в викиразметке в редакторе):
: Поддерживаю. Мне нравится эта идея. —Участник:Пример
:* Вопрос: Что вам в этом нравится? —Участник:Пример2
Эта вставка маркера добавляет в список сложность (которой могло бы и не быть) и повышает вероятность того, что люди используют неверные уровни отступа в викитексте ответов.
Множество абзацев внутри элементов спискаПравить
Обычная разметка списка в Медиавики (символами), к сожалению, несовместима с обычной разметкой абзацев в Медиавики (переносами строк).
Чтобы вставить несколько абзацев в элемент списка, разделите их с применением {{pb}}
:
* Это один элемент.{{pb}}Это другой абзац внутри первого элемента.
* Это другой элемент.
Это также можно сделать напрямую, используя HTML-разметку для абзацев (обратите внимание на наличие закрывающего тега </p>
):
* Это один элемент.<p>Это другой абзац внутри первого элемента.</p>
* Это другой элемент.
В обоих случаях это должно быть сделано на одной строке викикода (без переводов строки). Однако, вы можете по желанию использовать трюк с оборачиванием кода символов перевода строки в HTML-комментарий (так в итоговом HTML не окажется переводов — они будут подавлены, как и сам комментарий), чтобы разделять абзацы при просмотре кода в редакторе:
* Это один элемент.<!--
--><p>Это другой абзац внутри первого элемента.</p>
* Это другой элемент.
Этот же метод можно использовать для различных видов блоков-включений внутри элемента списка (потому что технически, элементы списка — это блочные элементы, внутри которых могут содержаться другие блочные элементы):
* Это один элемент.<!--
--><p>Это другой абзац внутри первого элемента, и далее процитируем кого-нибудь:</p><!--
-->{{talk quote block|Представьте мир, в котором каждый житель планеты получал бы свободный доступ ко всей совокупности человеческого знания.|Джимбо}}<!--
--><p>Это последний абзац внутри всё первого же элемента списка.</p>
* Это другой элемент.
Имейте в виду, что не каждый популярный шаблон можно использовать таким способом (например, некоторые декоративные шаблоны цитат основаны на таблицах, и синтаксический анализатор Медиавики не будет обрабатывать (пропустит) эту табличную разметку, поскольку она находится внутри элемента списка (где-то в середине строки), а не в начале строки).
Не используйте переводы строк для визуальной имитации абзацев, потому что их применение семантически отличается:
* Это один элемент.<br /> Это тот же самый абзац, с переводом строки перед этой его частью.
* Это другой элемент.
Тег перевода строки предназначен для оформления переносов внутри абзаца, например строк в блоке стихотворения или в блоке исходного кода. См. также описание Медиавики-тегов <poem>
(англ.) (Расширение: Poem) и <syntaxhighlight>
(англ.) (Расширение: SyntaxHighlight).
Определенно не пытайтесь использовать символ двоеточия для выравнивания уровня отступа (чтобы выглядело «как абзац» в элементе списка), поскольку (как упоминалось выше) это создает три отдельных списка (и визуально единый элемент будет на деле разорван):
* Это один элемент.
: Это будет отдельным (не связанным с первым элементом) списком.
* Это будет третьим списком.
Или вы можете использовать один из шаблонов-списков (en:Template:HTML lists), чтобы гарантировать сгруппированность материала. Это более удобно для включения блочных элементов, таких как преформатированный код, в списки:
{{маркированный список
|1=Это один элемент:
<pre>
Это некоторый код.
</pre>
Это всё ещё внутри первого элемента.
|2=Это второй элемент.
}}
Но этот метод не используется на страницах обсуждений.
ОтступыПравить
Не злоупотребляйте тегом <blockquote></blockquote>
или шаблонами, которые его используют (такими как {{blockquote}}
, его другое часто используемое название {{quote}}
) для достижения визуального отступа; они предназначены только прямого цитирования материала (и зачитываются скрин-ридерами как «(цитата) материал»). Необходимый незначимый отступ можно оформить задав padding-left в стилях. Отодвинуть на заданное число пробельных символов может ш:Nbsp.[10]
Символ двоеточия (:
) в начале строки преобразуется, проходя через синтаксический анализатор Медиавики, в тег <dd>
— часть HTML списка определений (<dl>
).[a] Визуальный эффект этого в большинстве веб-браузерах — отступ строки. Отступ используется, например, чтобы обозначить ответы в разветвлённых дискуссиях на страницах обсуждений. Однако, в разметке из одних только <dd>
отсутствует другой элемент списка описаний — <dt>
(тег термина), к которому должен относиться <dd>
(тег описания/определения). Как можно увидеть при проверке кода, переданного в браузер, это приводит к нарушенному HTML (например, этот код не проходит валидацию[11]). Это не идеально для доступности, семантики и переиспользования, но в настоящее время широко используется, несмотря на проблемы.
Пустых строк не должно быть между строками текста с отступами-двоеточиями — особенно в контенте статьи. Это интерпретируется Медиавики как конец одного списка и начало нового списка.
Если между текстом необходимо пустое место, то есть два подхода, которые дают разные результаты в скрин-ридерах:
Первый — добавить пустую строку с таким же количеством двоеточий в ней, как перед текстом в строках над и под этой пустой строкой. Такое приемлемо, когда два участника делают комментарии сразу друг под другом на одинаковом уровне отступов. Например:
: Полностью согласен. —Участник:Пример
:
: Не убедили. Есть ли доступный источник получше? –Участник:Пример2
Это даст понять скрин-ридеру, что здесь два элемента списка (а пустой элемент будет проигнорирован).
Второй подход, для случая когда оформляемый материал должен быть одним цельным комментарием (или цельным элементом списка, например, в статье), состоит в том, чтобы использовать разметку нового абзаца оставаясь на одной строке кода (см. более сложные примеры в предыдущем разделе #Множество параграфов внутри элементов списка):
: Тут текст.{{pb}}Ещё текст. —Участник:Пример3
Для отображения математической формулы или мат. выражения на отдельной собственной строке, содержащей только формулу, рекомендуется использовалось <math display="block">1 + 1 = 2</math>
вместо :<math>1 + 1 = 2</math>
.
Вертикальные спискиПравить
Маркированные вертикальные спискиПравить
В маркированных вертикальных списках, не разделяйте элементы списка оставляя пустые строки между ними. Вместо этого используйте шаблон pb или HTML-разметку с тегом <p>.
Проблема с пустыми строками в том, что, когда элементы списка оказываются разделены более чем одним переводом строки, сгенерированный HTML список закончится перед (этим не одинарным) переводом строки и другой HTML список будет начат после этого перевода строки. То, что видно как один список, в действительности разбивается на несколько меньших списков для тех кто использует скрин-ридеры. Например, при следующем коде:
* Белая роза
* Жёлтая роза
* Розовая роза
* Красная роза
перечень останется визуально почти похожим на один список (в стилях отступ перед списками не такой большой как отступ перед абзацами текста) и пустые строки будут выглядеть лишь немногим больше междустрочного интервала:
- Белая роза
- Жёлтая роза
- Розовая роза
- Красная роза
этот перечень будет зачитан скрин-ридерами как «список из двух элементов: (маркер) Белая роза, (маркер) Жёлтая роза, конец списка. Список из одного элемента: (маркер) Розовая роза, конец списка. Список из одного элемента: (маркер) Красная роза, конец списка.» (на самом деле в Википедии «маркер» не зачитается, так как вместо текстового символа в ней картинка маркера; маркеры может начать зачитывать если, например в шаблоне, вид маркера специально был переопределён или вне Википедии)
Не разделяйте элементы списка через тег перевода строки <br />
. Используйте {{plainlist}} / {{unbulleted list}}, если список должен остаться вертикальным; или рассмотрите возможность применения {{flatlist}} / {{hlist}}, если этот список может лучше отображаться будучи горизонтальным (внутристрочным), как описано в следующих двух разделах.
Немаркированные вертикальные спискиПравить
Для немаркированных списков, спускающихся вниз по странице, доступны шаблоны {{plainlist}} и {{немаркированный список}}. Применение шаблонов в итоге улучает доступность и полноту семантического описания, когда разметка списка применяется к тому, что явно является списком, вместо переноса строк тегом <br />
, и не используется разметка из двоеточий dl-списка определений. Шаблоны отличаются только викиразметкой, используемой для создания списка. Обратите внимание, что, так как это шаблоны, в тексте каждого элемента списка не может содержаться символа вертикальной черты (|
), если только он не был заменён на {{!}}
или обёрнут в тег <nowiki></nowiki>
. Из-за этого же в элементе не может содержаться знака равенства (=
), если только он не был заменён на {{=}}
или обёрнут в тег <nowiki></nowiki>
, хотя вы можете обойти это условие использовав именованные параметры в шаблоне (|1=
, |2=
и т. д.).
Викитекст | Отображается как |
---|---|
{{plainlist |
* Белая роза
* Жёлтая роза
* Розовая роза
* Красная роза
}}
|
|
Викитекст | Отображается как |
---|---|
{{unbulleted list
| Белая роза
| Жёлтая роза
| Розовая роза
| Красная роза
}}
|
|
Другим вариантом оформления в шаблонах, таких как нав. шаблоны и им подобных, или в любом подходящем блоке, может быть задание спискам стиля с помощью класса plainlist следующим образом:
| класс_списков = plainlist
или| класс_тела = plainlist
В карточках можно использовать:
| класс2 = plainlist
или| класс_меток = plainlist
Горизонтальные спискиПравить
Для списков, идущих вдоль (в строке) текста страницы или одной строкой в карточках и других таблицах, доступны шаблоны flatlist и hlist (от англ. horizonal list — горизонтальный список). Применение шаблонов в итоге улучает доступность и полноту семантического описания, когда HTML-разметка корректно используется для каждого элемента списка, в отличии простого текста с разделением через символы-маркеры, которые зачитываются (например «маркер кошка маркер собака маркер лошадь маркер …»[12]) вспомогательным программным обеспечением, используемым слепыми людьми. Шаблоны отличаются только викиразметкой, используемой для создания списка. Обратите внимание, что когда текст передаётся в эти (или любые другие) шаблоны, символ вертикальной черты «|» следует экранировать применяя {{!}}.
Викитекст | Отображается как |
---|---|
{{flatlist |
* Белая роза
* Красная роза
** Розовая роза
* Жёлтая роза
}}
|
|
Викитекст | Отображается как |
---|---|
{{hlist
| Белая роза
| Красная роза
| Розовая роза
| Жёлтая роза
}}
|
|
Другим вариантом оформления в шаблонах, таких как нав. шаблоны и им подобных, или в любом подходящем блоке, может быть задание спискам стиля с помощью класса hlist следующим образом:
| класс_списков = hlist
или| класс_тела = hlist
В карточках можно использовать:
| класс2 = hlist
или| класс_меток = hlist
Заголовки списковПравить
Ненадлежащее использование символа точки с запятой, чтобы выделить жирным «фейковый заголовок» перед списком (рис. 1), на деле создает разрыв списка и даже хуже. Строка с символом точки с запятой будет списком описаний (dl) из одного элемента (термина), без контента его описаний (значений), (зачитается как «список определений из одного элемента, перечисление» или просто «список из одного элемента, перечисление»), после этого второй список (зачитается как «список из шести элементов, перечисление» — при этом сложно понять, что это продолжение одного списка, а не два разных).
Вместо этого используйте викиразметку для заголовка (рис. 2). По порядку прочтения «заголовок, название, список, перечисление» более понятно, что первым был заголовок списка.
1. Некорректно
; Благородные газы
* Гелий
* Неон
* Аргон
* Криптон
* Ксенон
* Радон
2. Заголовком
== Благородные газы ==
* Гелий
* Неон
* Аргон
* Криптон
* Ксенон
* Радон
ТаблицыПравить
Скрин-ридеры и другие средства просмотра веб-страниц действительно используют теги и атрибуты, созданные специально для таблиц, чтобы помочь пользователям особым образом ориентироваться в данных, содержащихся в этих таблицах.
Используйте корректный викитабличный синтаксис из чёрточек, чтобы воспользоваться преимуществами всех имеющихся возможностей. Больше информации о специальном синтаксисе, используемом для таблиц, см. в документации Справка: Таблицы на Медиавики. Не используйте одно только визуальное оформление, через CSS (сайта/шаблона) или стили (например, атрибут style прописанный для ячейки или переданный через шаблон), для придания семантического значения ячейкам (например, изменяя цвет фона).
Многие нав. шаблоны и карточки сделаны на таблицах. (Используйте таблицы и для новых подобных шаблонов. При составлении и заполнении шаблонов имейте в виду, что навигация по ним в скрин-ридерах будет как по таблицам.)
Избегайте использования тегов <br />
или <hr />
в смежных ячейках для визуальной эмуляции ещё одной строки в ячейке — это не отражается в структуре HTML-таблицы. Проблема в том, что скрин-ридеры зачитывают таблицу как ячейка за ячейкой (td, слева направо) в одной HTML-строке (tr), затем также в следующей HTML-строке, не (имея возможности переместиться/сопоставить по отдельности) как визуальную строку затем другую визуальную строку.
Таблицы с даннымиПравить
{|
|+ [текст заголовка]
|-
! scope="col" | [заголовок столбца 1]
! scope="col" | [заголовок столбца 2]
! scope="col" | [заголовок столбца 3]
|-
! scope="row" | [заголовок строки 1]
| [обычная ячейка 1-2] || [обычная ячейка 1-3]
|-
! scope="row" | [заголовок строки 2]
| [обычная ячейка 2-2] || [обычная ячейка 2-3]
…
|}
- Заголовок таблицы (
|+
) - Заголовок таблицы — это название для всей таблицы, описывающее её суть.[13] (также может зачитываться как «подпись таблицы» от caption) Таблицы с данными всегда должны быть с заголовком.
- Заголовки строк и столбцов (
!
) - Как и заголовок таблицы, эти заголовки помогают презентовать посетителю информацию в логически понятной структуре.[14] Заголовки помогают скрин-ридерам отразить заголовочную информацию описывающую выбранную ячейку данных. Например, информация из заголовочной ячейки столбца зачитывается каждой раз перед зачитыванием данных обычной ячейки (смещение вниз-вверх по столбцу зачитывает заголовки строк, смещение по строке зачитывает заголовки столбцов), также информация о заголовках может индивидуально задаваться атрибутом header.[15] Поскольку заголовок столбца/строки может зачитываться каждый раз перед зачитыванием данных в каждой посещённой ячейке, когда используются возможности режима навигации по таблице в скрин-ридерах, необходимо, чтобы заголовки столбцов/строк уникально идентифицировали столбец/строку соответственно.[16]
- Scope для заголовков (
! scope="col" |
и! scope="row" |
) - АтрибутScope (область действия) четко идентифицирует заголовок как заголовок строки или заголовок столбца. Это позволяет правильно соотносить ячейки данных с: заголовками; подзаголовками, сгруппированными одним заголовком; и, при необходимости, ячейками не оформленными как заголовочные.[17]
Таблицы-макетыПравить
Избегайте использования таблиц для визуального позиционирования нетабличного контента. Таблицы с данными предоставляют дополнительную информацию и методы навигации, которые могут сбивать с толку, когда в контенте недостаёт логических соотношений строк к столбцам. Вместо этого используйте семантически подходящие элементы или <div>
'ы, свойства в style
.
При использовании таблицы для позиционирования нетабличного контента помогайте скрин-ридерам идентифицировать её как таблицу-макет, а не таблицу данных. Задайте атрибут role="presentation"
на саму таблицу и не добавляйте атрибутов summary
. Не используйте связаных с тегами <caption>
или <th>
элементов внутри таблицы или внутри любых вложенных таблиц. В табличной викиразметке это означает, что не должно быть использований |+
или !
в начале строк. Убедитесь в корректности порядка, в котором контент зачитается. Визуальных эффектов, таких как выравнивание по центру или выделение жирным, можно достичь с применением CSS или семантических элементов. Например:
{| role="presentation" class="toccolors" style="width:94%"
|-
| colimg="2" style="text-align: center; background-color: #ccf;" | <strong>Выделен важный текст</strong>
|-
| Зачитываемый || текст
|-
| в последовательном || порядке.
|}
ИзображенияПравить
- В большинстве случаев изображения должны содержать подпись используя вики-разметку вставки изображения. Подпись должна кратко описывать смысл изображения и ключевую информацию, которую оно пытается передать.
- Картинки и иконки, если они не чисто декоративные, должны содержать alt-атрибут, который действует как замена этой картинки для слепых читателей, поисковых роботов, и другого невизуального использования. Если alt-текст специально настраивается, он должен быть сжатым или иметь отсылки к тексту в подписи картинки и к тексту статьи по соседству с картинкой. Больше ссылок по теме в en:MOS:ACCIM. При использовании картинки с рамкой подпись обычно воспринимается как alt-текст.
- Могут возникать ситуации, когда без подписи зачитывается имя файла. Без рамки картинки бывают в карточках (см. en:MOS:CAPLENGTH).
- Также, используя картинку без рамки, alt нужен чтобы скрин-ридеры читали в атрибуте alt, например, «❌» (символ Юникода) как «крестик» (текст настроенный (по умолчанию) в скрин-ридере) и чтобы без загрузки картинок показывался символ Юникода «❌». Не нужно убирать alt и заменять «|alt=текст» на подпись «|текст» — картинка без рамки (без «|мини») и с пустым отключающим «|link=» (без ссылки на картинку) подпись преобразовывается вики-сайтом в два атрибута у img (в alt и title) (что в некоторых случаях может читаться дважды (сначала из alt, затем из title, которые одинаковы) «текст текст» — дублирующийся текст вводит в замешательство). Всплывающая подсказка title (которую делает подпись у картинки без рамки) с пиктограммой символа к изображению символа не требуется. title через подпись лучше создавать с отличающимся от картинки-символа текстом, например вместо картинки крестика и крестика в title, title с текстом «некорректно».
- Избегайте использования изображений вместо таблиц. Там, где это возможно, любые графики или диаграммы должны иметь эквивалентную информацию в тексте или должны быть хорошо описаны (в подписи или в alt), чтобы пользователи, которые не могут видеть изображение, могли получить некоторое понимание замысла именно графического представления данных.
- Избегайте расположения изображений с левой стороны, так как левый отступ, будучи постоянно на одном уровне, облегчает чтение текста.
- Избегайте в тексте отсылок на изображения как на расположенные слева или справа. В мобильной версии все изображения могут быть по центру. Скрин-ридеры зачитывают простое чередование (текст картинка текст), без уточнения в какой они стороне. Вместо этого используйте дополнительную информацию (соответствующую подписи), описывающую изображение.[18]
- Детальное описание изображения, если оно не уместно в статье, можно разместить на странице самого изображения, а в статье упомянуть, что подробное описание доступно по ссылке на файл.
- Изображения должны быть в том разделе статьи, к которому они относятся (где-либо после заголовка и после подзаголовочных информационных шаблонов), а не в самом заголовке и не в конце предыдущего раздела предваряя заголовок.
- Не вставляйте изображения в заголовки (сюда относятся различные иконки и математическая разметка
<math>
).
Стили и варианты разметкиПравить
В общем случае, стили для таблиц и других блочных элементов должны задаваться CSS-классами, а не внутристрочным атрибутом style (его специфичность сложно перекрыть). Общий CSS в MediaWiki:Common.css влияет на весь сайт и более тщательно протестирован на гарантии доступности (например, что цвета достаточно контрастны) и совместимость с большим количеством браузеров. Личный CSS (в Служебная:MyPage/skin.css или в задаваемых браузером стилях) позволяет пользователям с очень специфическими потребностями изменять цветовые схемы для себя. Например, на странице ВП:CSS для слабовидящих пользователей[en] предлагается высококонтрастный фон для нав. шаблонов. Проблема здесь в том, что когда классы стилей по умолчанию, работающие на весь сайт, переназначены локально, это затрудняет выбор индивидуальной темы оформления.
Свёрнутые (скрытые) элементы нежелательны в основной части статьи. Принимайте во внимание, что мобильная версия сайта не поддерживает сворачивание, поэтому любой сворачиваемый контент будет автоматически развёрнут. Скрываемый даже в десктопной версии для больших экранов материал оказывается всегда развёрнутым в мобильной версии на гораздо меньших экранах.
Сайт может быть открыт в браузерах с ограниченной поддержкой или отключёнными CSS и JavaScript. Разработчики поддерживают функционирование и редактирование сайта в no-JS режиме. Контент также должен оставаться доступным в no-JS. Внося изменения, которые потенциально нарушают отображение или делают что-либо скрытым, желательно проверять их дополнительно при отключенных JS или CSS, чтобы хотя бы возможность чтения всего контента статей оставалась обеспеченной.
См. такжеПравить
- Доступность — статья о доступности веб-сайтов и ПО для людей с ограниченными возможностями.
- Википедия:Оформление статей — руководство по оформлению статей в Википедии.
- Описание plainlist в MOS:PLAINLIST (англ.).
- Также отдельную справку по отступам (англ.).
- О таблицах и карточках в /Infobox accessibility (англ.).
- Оформление глоссариев (англ.) для насыщенной, но придерживающейся доступности, разметки сложных списков определений (англ.) и больше проблемных примеров с ними (англ.).
- Подробные примеры scope в en:WP:DTT (англ.).
ПримечанияПравить
КомментарииПравить
ИсточникиПравить
- ↑ Предыдущая версия, WCAG 2.0, — действующий стандарт ISO/IEC 40500:2012. Для сравнения см. добавленные руководства в версии 2.1.
- ↑ foundation:Template:Policy-board
- ↑ В Визуальном редакторе поле «Альтернативный текст» доступно при нажатии на изображение и кнопку «Править». Замещающий текст также может быть написан для шаблонов, других медиафайлов.
- ↑ F26: Failure of Success Criterion 1.3.3 due to using a graphical symbol alone to convey information (англ.). Techniques for WCAG 2.0. W3C. Дата обращения: 8 августа 2022.(по разделу Tests сначала оценивается информация, затем проверяется не выдаётся ли отличающегося значения. Полностью символы не запрещаются.)
- ↑ Тем не менее, в общем случае не следует удалять любые пользовательские изменения размера шрифта при помощи бота.
- ↑ например, Windows Speech API потребуются языковые пакеты для Windows
- ↑ G91: Providing link text that describes the purpose of a link (неопр.). Techniques for WCAG 2.0. World Wide Web Consortium. Дата обращения: 1 января 2011.
- ↑ F84: Failure of Success Criterion 2.4.9 due to using a non-specific link such as "click here" or "more" without a mechanism to change the link text to specific text (неопр.). Techniques for WCAG 2.0. World Wide Web Consortium. Дата обращения: 1 января 2011.
- ↑ Википедия:Голосования/Цвета ссылок
- ↑ При необходимости также можно перенести из англовики шаблоны, такие как en:Template:block indent для многострочного контента или en:Template:in5 для одиночных строк
- ↑ Markup Validation Service: Check the markup (HTML, XHTML, …) of Web documents (неопр.). validator.w3.org. World Wide Web Consortium (2017). Дата обращения: 13 декабря 2017. Отчёт валидатора об ошибках содержит «Error: Element
dl
is missing a required child element.» - ↑ в англовики используется интерпункт, который не зачитывается; в обычных списках Википедии маркер заменён на картинку и тоже не зачитывается; однако в отличающихся шаблонах рувики использован символ маркера и он зачитывается
- ↑ H39: Using caption elements to associate data table captions with data tables (англ.). W3C. Дата обращения: 10 августа 2022.
- ↑ H51: Using table markup to present tabular information (англ.). W3C. Дата обращения: 10 августа 2022.
- ↑ Table cells: The TH and TD elements (англ.). Techniques for WCAG 2.0. W3C. Дата обращения: 1 января 2011.
- ↑ Tables with JAWS (англ.). Freedom Scientific. Дата обращения: 18 февраля 2021.
- ↑ H63: Using the scope attribute to associate header cells and data cells in data tables (англ.). Techniques for WCAG 2.0. W3C. Дата обращения: 9 августа 2022.
- ↑ Technique: Referring to page content by its position от Harvard community
СсылкиПравить
- Введение в веб-доступность от Инициативы W3C по обеспечению веб-доступности[en]
- Руководство по обеспечению доступности веб-контента (WCAG) 2.0 Уполномоченный русский перевод
- Руководство по доступности веб-контента 2.1 (WCAG) (англ.) от W3C (неофициальный перевод)
- Руководство по стилю для сайтов Викимедиа § Доступность (англ.)
- noJS: mw:No-JavaScript notes, Noscript.css, mw:Help:TemplateStyles#How can I target specific skins?, mw:Manual:Coding conventions/CSS#.client-js and .client-nojs
- ГОСТ Р 52872 «Интернет-ресурсы. Требования доступности для людей с инвалидностью и других лиц с ограничениями жизнедеятельности»