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.