Рубрики
Без рубрики

5 вещей, о которых я думаю, когда я проверю запрос на тягу на доступность

(Фото печенья POM на Unsplash) Разработка надежных, доступных, приложений – это действительно вся команда E … Теги с A11Y, WebDev, JavaScript.

(Фото Cookie Pom. на Бессмысленно )

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

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

Если вы хотите пропустить непосредственно в раздел:

  1. Что даже это особенность?
  2. Первоначальная проверка с топором
  3. Работа клавиатуры
  4. Проверки считывателя экрана
  5. Соображения по управлению фокусом и динамически отображаемым контентом

1. Что даже это особенность? 🤔

Я считаю, что довольно полезно сделать шаг назад и рассмотреть, какой узор UI мы пытаемся ввести/рефакторировать, и проверять Wai Aria Aroring Практики Для напоминания о том, как такого рода UI Pattern Должен вести себя.

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

Ухожу назад и спрашиваю себя “Что это за вещь?” Также помогает точечные возможности заменить Div с более семантическими альтернативами. Я потерял счет количества раз, когда у меня был момент лампочка «О, подожди, это на самом деле [вставить что-то, что должно быть очевидно здесь]!».

2. Первоначальная проверка с топором 🪓

Усиление оси браузера Помогает нам захватить много низких виситных фруктов, например Цвет контраст, отсутствующие ориентиры или этикетки.

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

3. Работа клавиатуры 👩🏻💻.

NB: Если вы используете Mac и/или Safari, пожалуйста, убедитесь, что ваши настройки позволяют вкладками к интерактивным элементам. Посмотреть Навигация клавиатуры браузера в MacOS

Все функции должны работать только на клавиатуре, и это включает в себя:

  • Нажатие Вкладка Чтобы перемещаться по каждому из интерактивных элементов в логическом порядке (например, часто это было бы сверху вниз, слева направо)
  • Нажатие Shift + Tab двигаться назад через эти элементы
  • Фокусированный в настоящее время элемент должен быть четко виден (например, с контуром фокусировки).
  • Вы должны иметь возможность взаимодействовать с фокусируемыми элементами согласно конвенциям в Wai Aria Aroring Практики Отказ Например, активируя ссылку с Введите , двигаясь через Combobox Предложения с Стрелка вверх/вниз стрелка Отказ
  • Возможность раскрывать контент, который в противном случае был бы сработан на колесе мыши (например, всплывающая подсказка, которая делает текст вспомогательного вспомогательного изображения)

Бонусный совет: невидимые проблемы со фокусом

Если вы когда-нибудь застряли отладки невидимых проблем фокусировки, вы можете добавить это в консоль для выхода сфокусированного элемента, поскольку он меняется:

document.addEventListener('focusin', () => console.log(document.activeElement))

4. Проверки считывателя экрана 🤖

Мне было задано несколько раз “Вы всегда проверяете с помощью считывателя экрана?” И честный ответ – «нет».

Мой личный взгляд состоит в том, что проверка считывателя экрана – это Должен когда:

  • Мы представляем новую интерактивную функцию (в отличие от изменения содержимого): вещи динамически обновляются/появляются/исчезают
  • Любой Ария Атрибут был изменен или введен: они всплывают только через вспомогательную технологию, поэтому, если мы не проверяем с помощью считывателя экрана, мы на самом деле не проверяем вообще

Немного ноя начальная установка

Я обычно использую VoiceOver и Safari для проведения проверок считывателя экрана. Это в основном, потому что VoiceOver – это экран для экрана Mac по умолчанию, и предназначен для лучшей работы с Safari (если вы пытаетесь использовать его с другим браузером, вы заметите некоторые багги/необычные вещи).

Если вы используете MAC, у меня есть пост с некоторыми начальными инструкциями настройки:

3 Быстрая задача, чтобы ознакомиться с помощью считывателей экрана (VoiceOver на Mac)

Suzanne Aitchison (она/она) · 1 декабря 1919 · 4 мин читать

Если вы не используете Mac, я бы порекомендовал использовать NVDA И Firefox/Chrome, чисто потому, что NVDA – это бесплатная загрузка и очень широко используется (посмотрите последние Screen Reader Sears .

Переключение голосовой завесы

Если у вас есть клавиатура с функциональными клавишами в верхней строке, вы можете включить и выключить голосовой задержку с CMD + F5 Отказ

Если у вас нет функциональных клавиш, вы можете нажать кнопку насильника в три раза в краткую последовательность, чтобы открыть параметры доступности, где вы можете проверить/снять флажок «Включить VoiceOver».

Ротор

Я обычно начинаю проверку рисования экрана, используя Rotor VoiceOver (открытый с комбинацией клавиш Ctrl + Option + U ) – это интерактивное меню, которое перечислены различные элементы по типу (например, ориентиры, ссылки, элементы управления форм):

Нажмите клавиши со стрелками влево/вправо, чтобы перейти через различные меню и получить быстрый обзор соответствующих ориентиров и доступных имен элементов на странице. В приведенном выше примере вы можете быстро определить ссылку «Главная» случайно названа дважды!

Чтобы перейти к определенному элементу/раздел, используйте стрелки вверх/вниз, чтобы выделить и Введите выбирать.

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

Доступные имена

AX обычно поможет флаг такого рода проблемы, но, как я ориентируюсь на функцию с помощью считывателя экрана, я склонен к поиску элементов, где:

  • Нет доступного имени (например, мы использовали кнопку ICON без метки ARIA)
  • Доступное имя расплывчато (например, нажмите здесь, – делать что?)
  • Доступное имя повторяется (например, множество «перекрытия переключения» – выпадают?)

Бонусный совет: Hylencing VoiceOver

Иногда может быть немного слышать все Объявлено о том, что вы навигаете, особенно если вы отлаживаете один конкретный раздел. Вы можете заставить замолчать любое объявление о прогреме голоса, нажав Ctrl ключ 🙂.

5. Соображения по управлению фокусом и динамически отображаемым содержанием ✨

Я обычно уделяю особое внимание любым функциям, которые включают в себя контент динамически появления/исчезновения – например: раскрывающееся меню, предупреждающий баннер, модаль.

Основное, что я буду думать о это:

  1. Как пользователь Low-Vision знает, что содержимое появилось/исчезло? Что-нибудь объявлено через ридер экрана?
  2. Если новый контент содержит любой фокусируемый элемент (например, ссылка) – как я ее достичь? Если я должен нажать Вкладка 20 раз что-то, вероятно, не правильно.
  3. Если мой фокус клавиатуры был внутри некоторого контента, который сейчас исчез – где сейчас фокус?

Обычно некоторые Ария Атрибуты или ручное управление фокусом с JavaScript требуется для того, чтобы сделать такие компоненты доступными. Опять же, вы обычно можете найти то, что нужно в Wai Aria Aroring Практики Отказ

Оригинал: “https://dev.to/s_aitchison/5-things-i-m-thinking-about-when-i-check-a-pull-request-for-accessibility-3gmo”