Википедия:Доступность
Цель веб-доступности — сделать веб-страницы более удобными для навигации и чтения. В первую очередь это помогает людям с ограниченными возможностями, но многие практики веб-доступности полезны всем читателям. Мы стремимся придерживаться Руководства по обеспечению доступности веб-контента[англ.] версии 2.1[1], на которых и основаны следующие рекомендации. Страницы, которые следуют им, проще читать и редактировать каждому. Фонд Викимедиа запрещает дискриминацию нынешних или потенциальных пользователей и сотрудников по признаку… возраста, инвалидности… или любых других охраняемых законом характеристик. Фонд Викимедиа придерживается принципа равных возможностей,.. Из резолюции о недискриминации, принятой правлением Фонда Викимедиа 14 января 2006 года[2]
…сделать максимально доступную среду для участников и пользователей с ограниченными возможностями или другими способностями. …сделать наш сайт, наши процедуры и политики и наш контент совместимыми с этими технологиями [техническими средствами реабилитации]. Ларри Сэнгер. Из политики Nupedia, версия 25 июля 2000 года[3]
Структура статьиСтандартизация структуры статей улучшает доступность, так как позволяет пользователям знать, что содержимое будет находиться в определённой части страницы. Например, если слабовидящие пользователи ищут ссылки на страницы неоднозначности и не находят их сверху страницы, они будут знать, что их нет на этой странице, и им не нужно продолжать чтение всей страницы, чтобы узнать это. Стандартизация структуры статей уже является принятой практикой в Википедии, см. руководства в Википедия:Оформление статей § Структура статьи и Википедия:Оформление статей § Деление на разделы. ЗаголовкиЗаголовки должны описывать содержимое разделов и располагаться в последовательном порядке. Размещайте заголовки последовательно, начиная со 2-го уровня (
Не используйте разметку точки с запятой (используемой для создания списков описаний[англ.]) для создания псевдозаголовков, и старайтесь избегать использования псевдозаголовков через полужирный шрифт. Программы чтения с экрана и другие вспомогательные технологии могут использовать только заголовки, размеченные через разметку заголовка. Для уменьшения размера содержания статьи используйте шаблон {{TOC limit}}. В случае, если {{TOC limit}} не может использоваться из-за полезных заголовков в других местах статьи, использование полужирного шрифта для под-под-под-заголовков вызывает наименьшее число проблем для пользователей программ чтения с экрана. Использование псевдозаголовков должно означать, что вы исчерпали все другие варианты, и должно быть редким.
Выносные элементыРазмещайте выносные элементы (располагающиеся слева/справа от основного текста), включая изображения, внутри разделов, к которым они принадлежат. Не размещайте изображения, относящиеся к определённому разделу, в конце предыдущего раздела. В зависимости от разных факторов, расположение нескольких изображений друг под другом рядом с коротким текстом может привести к тому, что изображения будут отображаться как часть следующих разделов. Это не проблема доступности, так как программы чтения с экрана читают альтернативный текст ( РазрешениеСтатьи Википедии должны быть доступны читателям, использующим устройства с малыми разрешениями экрана или небольшими экранами. Минимальное разрешение, которое считается возможным поддерживать без отрицательного эффекта для других пользователей, — 1024×768. Все статьи должны выглядеть приемлемо в этом разрешении без чрезмерной горизонтальной прокрутки. Иногда это является проблемой в статьях с несколькими изображениями по обе стороны от текста. Хотя на низких разрешениях браузеры будут стараться растянуть абзацы по вертикали, старайтесь не добавлять изображения или другие выносные элементы по обеим сторонам от текста одновременно. Большие таблицы и изображения также могут создавать проблемы: иногда горизонтальной прокрутки не избежать, но следует попытаться переделывать чрезмерно широкие таблицы, чтобы они растягивались вертикально, а не горизонтально. ТекстПо умолчанию большинство средств чтения с экрана не презентационные текстовые атрибуты (жирный, курсив, подчёркивание, моноширинный, зачёркнутый) или даже семантические текстовые атрибуты (выделение, важность, удаление текста), поэтому зачёркнутый текст читается ровно так же как и любой другой текст. (Редакторам, использующим программы чтения с экрана, которые участвуют в обсуждениях в Википедии, рекомендуется включать уведомления об атрибутах текста, поскольку вычеркнутый текст очень распространён во внутренних обсуждениях. Поскольку зачёркивание[англ.] обычно игнорируется программами чтения с экрана, его использование в статьях (например, для отображения изменений при текстовом анализе) без дублирования иным способом вызовет проблемы с доступностью и явную путаницу. Это относится как к элементам Средства чтения с экрана поддерживают нестандартные символы в тексте на русском языке по-разному, и предположения о том, как будут произноситься те или иные символы, могут оказаться неверными. Если они не распознаются программой чтения с экрана или синтезатором речи, они могут произноситься как вопросительный знак или полностью исключаться из речевого вывода.
Последовательность символов должна быть достаточной для передачи смысловой части текста (и, желательно, других подобных форм содержания). Полагаться на пользовательские «специальные символы», отличающиеся только свойствами CSS или вики-разметкой, недопустимо. Не используйте методы, требующие взаимодействия для получения доступа к информации, такие как всплывающие подсказки или любой другой текст по наведению курсора. Исключением являются аббревиатуры и их расшифровка, которые можно оформлять через шаблон {{abbr}} (оболочка для элемента Не вставляйте переносы строк внутри предложений, так как это затрудняет редактирование с помощью программ чтения с экрана. Предложения могут разделяться одиночными переносами строк, если это предпочитается авторами. Ошибочное использование символов латинского алфавита вместо символов кириллицы или наоборот (кирлат) недопустимо. Размер шрифтаУчастникам следует избегать ручного увеличения и уменьшения размера шрифта без особой необходимости[6]. Увеличенный и уменьшенный размер шрифта в основном нужно задавать автоматическими средствами, такими как заголовки разделов и таблиц или шаблоны, сделанные с особым вниманием к оформлению. Уменьшенный размер шрифта может также понадобиться больши́м таблицам, чтобы они поместились на экран. Если увеличенный или уменьшенный размер шрифта необходим, его следует задавать в процентных единицах (например, Итоговый размер шрифта ни при каких обстоятельствах не должен быть меньше 85 % размера шрифта страницы (11,9px в теме «Векторная» или 10,8px в теме «Monobook»). Обратите внимание, что HTML-тег Другие языкиТекст или отдельные слова не на русском языке должны быть обёрнуты в Шаблон:lang, который использует определённые ИСО 639 коды языков, или же шаблон конкретного языка, например Шаблон:lang-en. Шаблоны добавляют атрибут lang, благодаря чему синтезаторы речи могут произнести эту часть текста на правильном языке (например, синтезатор eSpeak NG; не все синтезаторы это поддерживают[7]). Ссылки
Цветовое оформлениеПри использовании цветовых схем, отличных от стандартных, в шаблонах и статьях участникам стоит проверять их контрастность на соответствие требованиям руководства по обеспечению доступности веб-контента версии 2.0. Контрастность цветовых схем на сайте является важной как для пользователей с различными видами цветовой слепоты, так и без неё. Обязательный коэффициент цветовой контрастности (уровень AA) — не менее 4,5:1, для текста размером больше 18 пунктов (24 пикселя) в обычном начертании или 14 пунктов (19 пикселей) в полужирном — не менее 3:1. Проверить контрастность цветовой схемы можно с помощью шаблона {{Цветовой контраст}} или на внешних сайтах (webaim.org, contrast-ratio.com). Участники могут убирать цветовые схемы, которые ухудшают контрастность для пользователей, из статей и шаблонов. Для элементов интерфейса в Википедии используется цветовая палитра из руководства по стилю Викимедиа (англ.). Вы можете использовать цвета из этой палитры при создании сложных элементов для использования в статьях. В навигационных шаблонах, карточках и таблицах не следует изменять стандартные цвета ссылок. Это не относится к таблицам-схемам, цвета фона ячеек которых несут информационный характер, и подписям, накладываемым на изображения. Консенсуса сообщества о применимости этой нормы руководства к шаблонам составов спортивных команд и маршрутным картам нет[10]. СпискиНе разделяйте элементы списка, оставляя пустые строки или разрывы столбцов таблицы между ними. Это относится к элементам в списке описаний (список, создаваемый с помощью ведущего символа точки с запятой или двоеточия, что также часто можно встретить на страницах обсуждений), в упорядоченном списке или неупорядоченном списке. Списки предназначены для группировки взаимосвязанных элементов, но строкой видимая группировка на деле нарушается — пустая строка будет интерпретирована Медиавики как конец одного списка и начало нового списка. Чрезмерное количество двойных переносов строк также мешает работе скрин-ридеров, которые будут объявлять множество списков в том случае, когда предполагался только один список, и, таким образом, может вводить в заблуждение или сбивать с толку пользователей этих программ. Такое ненадлежащее форматирование также может более чем в три раза увеличить время, необходимое им для зачитывания списка. Аналогичным образом, не меняйте тип начальных маркеров списка (символы двоеточия, звёздочки или решётки) в одном списке (для программ два уровня списка — это список и вложенный список, один список — это один уровень списка). Когда отступ делается в ответе к комментарию, который уже начинался с любого смешанного чередования двоеточий и звёздочек, а иногда и знаков решётки, необходимо скопировать последовательность, какой бы она ни была, этих использованных выше символов и добавить ещё один подобный символ. В качестве альтернативы, просто вставьте Шаблон:Outdent и начните новое обсуждение (например, новым HTML-списком первого уровня). Например, в обсуждении, следуйте этой наилучшей практике: * Поддерживаю. Мне нравится эта идея. —Участник:Пример
** Вопрос: Что вам в этом нравится? —Участник:Пример2
*** Это кажется соответствует духу Википедии. —Участник:Пример
или , в немаркированном обсуждении: : Поддерживаю. Мне нравится эта идея. —Участник:Пример
:: Вопрос: Что вам в этом нравится? —Участник:Пример2
::: Это кажется соответствует духу Википедии. —Участник:Пример
Это тоже приемлемая практика (для подавления маркера в ответе): * Поддерживаю. Мне нравится эта идея. —Участник:Пример
*: Вопрос: Что вам в этом нравится? —Участник:Пример2
*:: Это кажется соответствует духу Википедии. —Участник:Пример
Но не делайте так (происходит переключение типа первого списка с маркированного списка на список описаний): * Поддерживаю. Мне нравится эта идея. —Участник:Пример
:: Вопрос: Что вам в этом нравится? —Участник:Пример2
и не так (тоже происходит переключение типа первого списка с маркированного списка на список описаний): * Поддерживаю. Мне нравится эта идея. —Участник:Пример
:* Вопрос: Что вам в этом нравится? —Участник:Пример2
и не так (была оставлена пустая строка между элементами списка): * Поддерживаю. Мне нравится эта идея. —Участник:Пример
** Вопрос: Что вам в этом нравится? —Участник:Пример2
и не так (перепрыгивание больше чем на один уровень списка): * Поддерживаю. Мне нравится эта идея. —Участник:Пример
*** Вопрос: Что вам в этом нравится? —Участник:Пример2
Это в общем случае снижает уверенность (встретившись с не очень логичными чередованиями в викиразметке в редакторе): : Поддерживаю. Мне нравится эта идея. —Участник:Пример
:* Вопрос: Что вам в этом нравится? —Участник:Пример2
Эта вставка маркера добавляет в список сложность (которой могло бы и не быть) и повышает вероятность того, что люди используют неверные уровни отступа в викитексте ответов. Множество абзацев внутри элементов спискаОбычная разметка списка в Медиавики (символами), к сожалению, несовместима с обычной разметкой абзацев в Медиавики (переносами строк). Чтобы вставить несколько абзацев в элемент списка, разделите их с применением * Это один элемент.{{pb}}Это другой абзац внутри первого элемента.
* Это другой элемент.
Это также можно сделать напрямую, используя HTML-разметку для абзацев (обратите внимание на наличие закрывающего тега * Это один элемент.<p>Это другой абзац внутри первого элемента.</p>
* Это другой элемент.
В обоих случаях это должно быть сделано на одной строке викикода (без переводов строки). Однако, вы можете по желанию использовать трюк с оборачиванием кода символов перевода строки в HTML-комментарий (так в итоговом HTML не окажется переводов — они будут подавлены, как и сам комментарий), чтобы разделять абзацы при просмотре кода в редакторе: * Это один элемент.<!--
--><p>Это другой абзац внутри первого элемента.</p>
* Это другой элемент.
Этот же метод можно использовать для различных видов блоков-включений внутри элемента списка (потому что технически, элементы списка — это блочные элементы, внутри которых могут содержаться другие блочные элементы): * Это один элемент.<!--
--><p>Это другой абзац внутри первого элемента, и далее процитируем кого-нибудь:</p><!--
-->{{talk quote block|Представьте мир, в котором каждый житель планеты получал бы свободный доступ ко всей совокупности человеческого знания.|Джимбо}}<!--
--><p>Это последний абзац внутри всё первого же элемента списка.</p>
* Это другой элемент.
Имейте в виду, что не каждый популярный шаблон можно использовать таким способом (например, некоторые декоративные шаблоны цитат основаны на таблицах, и синтаксический анализатор Медиавики не будет обрабатывать (пропустит) эту табличную разметку, поскольку она находится внутри элемента списка (где-то в середине строки), а не в начале строки). Не используйте переводы строк для визуальной имитации абзацев, потому что их применение семантически отличается: * Это один элемент.<br /> Это тот же самый абзац, с переводом строки перед этой его частью.
* Это другой элемент.
Тег перевода строки предназначен для оформления переносов внутри абзаца, например строк в блоке стихотворения или в блоке исходного кода. См. также описание Медиавики-тегов Определенно не пытайтесь использовать символ двоеточия для выравнивания уровня отступа (чтобы выглядело «как абзац» в элементе списка), поскольку (как упоминалось выше) это создает три отдельных списка (и визуально единый элемент будет на деле разорван): * Это один элемент.
: Это будет отдельным (не связанным с первым элементом) списком.
* Это будет третьим списком.
Или вы можете использовать один из шаблонов-списков (Template:HTML lists[англ.]), чтобы гарантировать сгруппированность материала. Это более удобно для включения блочных элементов, таких как преформатированный код, в списки: {{маркированный список
|1=Это один элемент:
<pre>
Это некоторый код.
</pre>
Это всё ещё внутри первого элемента.
|2=Это второй элемент.
}}
Но этот метод не используется на страницах обсуждений. ОтступыНе злоупотребляйте тегом Символ двоеточия ( Пустых строк не должно быть между строками текста с отступами-двоеточиями — особенно в контенте статьи. Это интерпретируется Медиавики как конец одного списка и начало нового списка. Если между текстом необходимо пустое место, то есть два подхода, которые дают разные результаты в скрин-ридерах: Первый — добавить пустую строку с таким же количеством двоеточий в ней, как перед текстом в строках над и под этой пустой строкой. Такое приемлемо, когда два участника делают комментарии сразу друг под другом на одинаковом уровне отступов. Например: : Полностью согласен. —Участник:Пример
:
: Не убедили. Есть ли доступный источник получше? –Участник:Пример2
Это даст понять скрин-ридеру, что здесь два элемента списка (а пустой элемент будет проигнорирован). Второй подход, для случая когда оформляемый материал должен быть одним цельным комментарием (или цельным элементом списка, например, в статье), состоит в том, чтобы использовать разметку нового абзаца оставаясь на одной строке кода (см. более сложные примеры в предыдущем разделе #Множество абзацев внутри элементов списка): : Тут текст.{{pb}}Ещё текст. —Участник:Пример3
Для отображения математической формулы или мат. выражения на отдельной собственной строке, содержащей только формулу, рекомендуется использовалось Вертикальные спискиМаркированные вертикальные спискиВ маркированных вертикальных списках, не разделяйте элементы списка оставляя пустые строки между ними. Вместо этого используйте шаблон pb или HTML-разметку с тегом <p>. Проблема с пустыми строками в том, что, когда элементы списка оказываются разделены более чем одним переводом строки, сгенерированный HTML список закончится перед (этим не одинарным) переводом строки и другой HTML список будет начат после этого перевода строки. То, что видно как один список, в действительности разбивается на несколько меньших списков для тех кто использует скрин-ридеры. Например, при следующем коде: * Белая роза
* Жёлтая роза
* Розовая роза
* Красная роза
перечень останется визуально почти похожим на один список (в стилях отступ перед списками не такой большой как отступ перед абзацами текста) и пустые строки будут выглядеть лишь немногим больше междустрочного интервала:
этот перечень будет зачитан скрин-ридерами как «список из двух элементов: (маркер) Белая роза, (маркер) Жёлтая роза, конец списка. Список из одного элемента: (маркер) Розовая роза, конец списка. Список из одного элемента: (маркер) Красная роза, конец списка.» (на самом деле в Википедии «маркер» не зачитается, так как вместо текстового символа в ней картинка маркера; маркеры может начать зачитывать если, например в шаблоне, вид маркера специально был переопределён или вне Википедии) Не разделяйте элементы списка через тег перевода строки Немаркированные вертикальные спискиДля немаркированных списков, спускающихся вниз по странице, доступны шаблоны {{plainlist}} и {{немаркированный список}}. Применение шаблонов в итоге улучает доступность и полноту семантического описания, когда разметка списка применяется к тому, что явно является списком, вместо переноса строк тегом
Другим вариантом оформления в шаблонах, таких как нав. шаблоны и им подобных, или в любом подходящем блоке, может быть задание спискам стиля с помощью класса plainlist следующим образом:
В карточках можно использовать:
Горизонтальные спискиДля списков, идущих вдоль (в строке) текста страницы или одной строкой в карточках и других таблицах, доступны шаблоны flatlist и hlist (от англ. horizonal list — горизонтальный список). Применение шаблонов в итоге улучает доступность и полноту семантического описания, когда HTML-разметка корректно используется для каждого элемента списка, в отличии простого текста с разделением через символы-маркеры, которые зачитываются (например «маркер кошка маркер собака маркер лошадь маркер …»[13]) вспомогательным программным обеспечением, используемым слепыми людьми. Шаблоны отличаются только викиразметкой, используемой для создания списка. Обратите внимание, что когда текст передаётся в эти (или любые другие) шаблоны, символ вертикальной черты «|» следует экранировать применяя {{!}}.
Другим вариантом оформления в шаблонах, таких как нав. шаблоны и им подобных, или в любом подходящем блоке, может быть задание спискам стиля с помощью класса hlist следующим образом:
В карточках можно использовать:
Заголовки списковНенадлежащее использование символа точки с запятой, чтобы выделить жирным «фейковый заголовок» перед списком (рис. 1), на деле создает разрыв списка и даже хуже. Строка с символом точки с запятой будет списком описаний (dl) из одного элемента (термина), без контента его описаний (значений), (зачитается как «список определений из одного элемента, перечисление» или просто «список из одного элемента, перечисление»), после этого второй список (зачитается как «список из шести элементов, перечисление» — при этом сложно понять, что это продолжение одного списка, а не два разных). Вместо этого используйте викиразметку для заголовка (рис. 2). По порядку прочтения «заголовок, название, список, перечисление» более понятно, что первым был заголовок списка. 1. Некорректно ; Благородные газы
* Гелий
* Неон
* Аргон
* Криптон
* Ксенон
* Радон
2. Заголовком == Благородные газы ==
* Гелий
* Неон
* Аргон
* Криптон
* Ксенон
* Радон
ТаблицыСкрин-ридеры и другие средства просмотра веб-страниц используют теги и атрибуты, созданные специально для таблиц, чтобы помочь пользователям особым образом ориентироваться в данных, содержащихся в этих таблицах. Используйте корректный викитабличный синтаксис из чёрточек, чтобы воспользоваться преимуществами всех имеющихся возможностей. Больше информации о специальном синтаксисе, используемом для таблиц, см. в документации Справка: Таблицы на Медиавики. Не используйте одно только визуальное оформление, через CSS (сайта/шаблона) или стили (например, атрибут style, прописанный для ячейки или переданный через шаблон), для придания семантического значения ячейкам (например, изменяя цвет фона). Многие нав. шаблоны и карточки сделаны на таблицах. (Используйте таблицы и для новых подобных шаблонов. При составлении и заполнении шаблонов имейте в виду, что навигация по ним в скрин-ридерах будет как по таблицам.) Избегайте использования тегов Таблицы с данными{|
|+ [текст заголовка]
|-
! scope="col" | [заголовок столбца 1]
! scope="col" | [заголовок столбца 2]
! scope="col" | [заголовок столбца 3]
|-
! scope="row" | [заголовок строки 1]
| [обычная ячейка 1-2] || [обычная ячейка 1-3]
|-
! scope="row" | [заголовок строки 2]
| [обычная ячейка 2-2] || [обычная ячейка 2-3]
…
|}
Таблицы-макетыИзбегайте использования таблиц для визуального позиционирования нетабличного контента. Таблицы с данными предоставляют дополнительную информацию и методы навигации, которые могут сбивать с толку, когда в контенте отсутствуют логические соотношения строк и столбцов. Вместо этого используйте семантически подходящие элементы или При использовании таблицы для позиционирования нетабличного контента помогайте скрин-ридерам идентифицировать её как таблицу-макет, а не таблицу данных. Задайте атрибут {| role="presentation" class="toccolors" style="width:94%"
|-
| colspan="2" style="text-align: center; background-color: #ccf;" | <strong>Выделен важный текст</strong>
|-
| Зачитываемый || текст
|-
| в последовательном || порядке.
|}
Изображения
Стили и варианты разметкиВ общем случае, стили для таблиц и других блочных элементов должны задаваться CSS-классами, а не внутристрочным атрибутом style (его специфичность сложно перекрыть). Общий CSS в MediaWiki:Common.css влияет на весь сайт и более тщательно протестирован на гарантии доступности (например, что цвета достаточно контрастны) и совместимость с большим количеством браузеров. Личный CSS (в Служебная:MyPage/skin.css или в задаваемых браузером стилях) позволяет пользователям с очень специфическими потребностями изменять цветовые схемы для себя. Например, на странице ВП:CSS для слабовидящих пользователей[англ.] предлагается высококонтрастный фон для навигационных шаблонов. Проблема здесь в том, что когда классы стилей по умолчанию, работающие на весь сайт, переназначены локально, это затрудняет выбор индивидуальной темы оформления. Свёрнутые (скрытые) элементы нежелательны в основной части статьи. Принимайте во внимание, что мобильная версия сайта не поддерживает сворачивание, поэтому любой сворачиваемый контент будет автоматически развёрнут. Скрываемый даже в десктопной версии для больших экранов материал оказывается всегда развёрнутым в мобильной версии на гораздо меньших экранах. Сайт может быть открыт в браузерах с ограниченной поддержкой или отключёнными CSS и JavaScript. Разработчики поддерживают функционирование и редактирование сайта в no-JS режиме. Контент также должен оставаться доступным в no-JS. Внося изменения, которые потенциально нарушают отображение или делают что-либо скрытым, желательно проверять их дополнительно при отключенных JS или CSS, чтобы хотя бы возможность чтения всего контента статей оставалась обеспеченной. См. также
ПримечанияКомментарииИсточники
Ссылки
|