foundation

Accessibility-oriented queries

Используйте role, name, label и text queries, чтобы тесты совпадали с тем, как пользователи и assistive tech находят UI.

Приоритет запросов в Testing Library: `getByRole`, `getByLabelText`, `getByPlaceholderText`, затем текст; `getByTestId` — крайний случай. Roles отражают, как assistive tech видит элементы — button, textbox, combobox.

Опция name различает несколько элементов: `getByRole('button', { name: /save/i })`. Скрытые элементы по умолчанию пропускаются. Починка тестов часто улучшает разметку — добавьте label, roles и доступные имена в продукте.

На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.

Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.

Компромисс часто между ясностью и переиспользованием или между явными props и удобством.

Чеклист:

  • Предпочитайте role и доступное имя.
  • Добавляйте label вместо test id, когда можно.
  • Согласуйте запросы с семантикой WCAG.