Именование
Сетка должна сопровождаться контекстом, который объясняет, что содержат ячейки.
Работа с клавиатурой
ОбъявлениеПереведите фокус на демо и нажмите клавишу из таблицы.
| Клавиша | Действие |
|---|---|
| →← | Переносит фокус на следующую или предыдущую ячейку строки. Следует направлению текста: в right-to-left → ведёт к предыдущей ячейке. Останавливается на краю строки, если не задан wrap. |
| ↓↑ | Переносит фокус на ячейку ниже или выше в той же колонке. |
| HomeEnd | Переносит фокус на первую или последнюю ячейку строки. |
| Ctrl + HomeCtrl + End | Переносит фокус на первую ячейку первой строки или последнюю ячейку последней строки. |
| Page DownPage Up | Переносит фокус на последнюю или первую строку в той же колонке, а при заданном rowDelta — на столько строк. |
| Tab | Вводит фокус в сетку на последнюю активную ячейку и затем выводит из неё: вся сетка — одна остановка табуляции. |
Поведение фокуса
- перемещение активной ячейки должно оставаться видимым
- интерактивное содержимое внутри ячеек не должно скрывать текущее состояние навигации
Семантика для скринридеров
- строки и ячейки должны оставаться понятными как структура сетки
- кастомное содержимое ячеек не должно затемнять смысл текущей позиции
Риски доступности
- разреженная визуальная раскладка без соответствующей логики исключений
- встраивание сложных контролов, которые перехватывают фокус у модели сетки
- использование
DataGridтам, где семантическаяTableбыла бы понятнее