Dropdown: контракт доступности
Определяет семантику, поведение с клавиатурой, управление фокусом, объявления и правила инклюзивного взаимодействия для выпадающего списка. Эта справочная документация фиксирует границы принятия, поведение при ошибках и наблюдаемые доказательства, оставляя специфичные для среды ограничения настраиваемыми.
Статус пакета: справочный контекст готов к проверке человеком. Контракт и сценарии тестирования завершены, но не заявляется, что реализующая команда прошла их.
Решение
Для Dropdown принять повторно используемый контракт состояния и взаимодействия с использованием нативной семантики, где это возможно. Указать семантическое, клавиатурное, фокусное, объявленческое, визуальное, анимационное и ошибочное поведение как часть функционального контракта компонента. Этот пакет является справочным контрактом: команда, внедряющая компонент, должна выбрать числовые ограничения, провайдеров, юрисдикции и ответственных за эксплуатацию на основе данных своей среды.
Область применения
- Акторы Dropdown, входы, выходы, состояния, версии политики или схемы и внешне видимые результаты, описанные в этом блоке доступности.
- Основные и альтернативные интерфейсы, фоновые процессы, кэши, интеграции, пути поддержки и доказательства, которые могут задействовать ту же границу.
- Конфигурация, развертывание, восстановление и обязанности по проверке, специфичные для внедрения, необходимые для безопасного применения справочного контракта.
Вне этого блока
- Выбор универсального поставщика, фреймворка, юрисдикции, числового порога, периода хранения или целевого уровня сервиса для каждого внедряющего.
- Заявления о том, что упакованные сценарии были выполнены на нижестоящей реализации или что этот справочник предоставляет юридическую, безопасность или сертификацию доступности.
Контракт
- Определить состояния триггера, открытого или активного, загрузки, успеха, пустоты, недействительности, ошибки, отключения и закрытия, в которые может входить паттерн.
- Указать клавиатурный ввод, вход и возврат фокуса, доступное имя, объявления, поведение указателя и поведение сенсорной цели вместе.
- Сделать явными разрушительные, необратимые или внешние эффекты и предотвратить повторную активацию, пока работа не завершена.
- Сохранять иерархию контента и действия удобными при узких ширинах, высоком увеличении, расширении текста, принудительных цветах и сниженной анимации.
- Предпочитать нативные элементы; если необходим пользовательский виджет, реализовать полный ожидаемый паттерн взаимодействия, а не только добавить роль.
- Тестировать с несколькими режимами ввода и как минимум одной представительной комбинацией экранного диктора/браузера, определённой внедряющей командой.
- Обеспечить постоянную метку, текущее значение, состояние раскрытия, идентичность опции, режим выбора, состояние отключения и поведение клавиатуры с использованием нативной семантики select или документированного составного паттерна.
- Сохранять стабильность фокуса и активной опции при фильтрации, виртуализации, асинхронной загрузке, инвалидировании и адаптивном отображении, а также обеспечивать чёткие состояния пустоты, ошибки и восстановления.
Руководство по реализации
- Написать последовательность клавиатуры и фокуса до реализации и сверить копии с видимыми метками и программными именами рядом.
- Смоделировать входы, выходы, акторов, состояния, инварианты, побочные эффекты и доказательства Dropdown до выбора деталей фреймворка или поставщика.
- Хранить применимую версию контракта или политики Dropdown вместе с материальным состоянием, чтобы миграции, воспроизведение и решения по поддержке оставались атрибутируемыми.
- Внедрять путь через контролируемое развертывание, сравнивать ожидаемые и наблюдаемые результаты и сохранять проверенный маршрут восстановления до полного сбора доказательств внедрения.
Обработка сбоев и меры безопасности
- При неудачном действии сохранять релевантный ввод и фокус, объявлять результат и возвращать компонент в состояние с безопасным путём восстановления.
- Недопустимое или противоречивое состояние Dropdown отклоняется или помещается в карантин; реализация никогда не угадывает значение, расширяющее полномочия или дублирующее эффект.
- Повторы ограничены и используют долговременную идентичность; после исчерпания работа достигает проверяемого конечного состояния с ответственным владельцем.
Проверка и эксплуатация
- Проверять автоматические правила, работу только с клавиатурой, видимость фокуса, объявления, контраст, масштаб и выполнение ручных задач.
- Мониторить успех, отказ, ошибку валидации, сбой зависимости, исчерпание повторов и восстановление Dropdown по версии контракта без чувствительных данных.
- Повторно запускать парные позитивные и негативные фикстуры после изменений политики, схемы, зависимостей, миграций или границ и сохранять полученные доказательства.
Предположения при внедрении
- Имена и значения в примере — это конкретные фикстуры, а не универсальные значения по умолчанию; внедряющие заменяют их через документированные доказательства и владение.
- Внедряющая система может обеспечить аутентифицированную идентичность, долговременные версии операций или записей, ограниченную телеметрию и контролируемый путь для изменений.
Примеры, похожие на исполняемые, в этом пакете являются фикстурами и контрактами приемки. Запустите валидатор коллекции для проверки структуры и метаданных, затем переведите и выполните сценарии в целевом репозитории перед фиксацией доказательств реализации.