awesome-everything EN
↑ Обратно к восхождению

Архитектура фронтенда

Доступные формы: свободное воспроизведение

Суть Вопросы на свободное воспроизведение по всему юниту. Сначала ответьте своими словами, затем раскройте модельный ответ и сравните.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Воспроизведение по памяти сильнее перечитывания. Для каждого вопроса проговорите или запишите полный ответ из памяти, прежде чем открыть модельный, — именно усилие припоминания закрепляет дисциплину «пути клавиатуры».

Цель

Восстановите хребет юнита — связь label, озвучивание ошибок, фокус на первом невалидном поле, native против ARIA и то, что вы наследуете при preventDefault, — не заглядывая обратно в урок.

Вспомните перед уходом
  1. 01
    Что значит, что label программно связан, и почему placeholder ему не замена?
  2. 02
    Почему визуальная подсветка невалидных полей красным ничего не озвучивает для screen reader, и какое двухчастное исправление делает ошибки воспринимаемыми?
  3. 03
    На неудачном submit с кастомной валидацией почему перемещение фокуса — самый результативный шаг, и куда должен идти фокус?
  4. 04
    Нативная constraint validation делает фокус, прокрутку и пузырёк ошибки бесплатно. Что именно вы наследуете в момент вызова e.preventDefault()?
  5. 05
    Почему контрол на div — баг хуже отсутствующего label, и что на самом деле даёт «использовать нативный элемент»?
  6. 06
    Является ли controlled-vs-uncontrolled решением о доступности в React? Объясните связь.
Итог

Если вы смогли восстановить каждый ответ по памяти, вы держите хребет юнита: каждому контролу нужно программно связанное имя (placeholder им не является, и треть веба это проваливает); ошибки должны озвучиваться через уже существующий live-регион и быть привязаны к полю через aria-invalid + aria-describedby и сформулированы как подсказки; неудачный submit должен переместить фокус на первое невалидное поле, а не просто прокрутить; нативные элементы несут role, фокусируемость и обработку клавиатуры, которые нельзя полностью воспроизвести; в момент preventDefault вы наследуете всё это; а controlled-vs-uncontrolled — это решение о состоянии, ортогональное доступности.

Продолжить восхождение ↑Доступные формы: чтение кода
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.