Skip to content

Viewport и доступность

Viewport‑слой отвечает за виртуализацию, расчёт видимых строк и согласование DOM‑фокуса.

1) Базовые понятия

  • Viewport — прямоугольник видимой области.
  • Row projection — вычисление диапазона строк для рендера.
  • Column projection — видимый набор колонок.

2) Инвалидирование и refresh

Core предоставляет явные точки синхронизации:

ts
api.refreshRows("manual")
api.refreshColumns("manual")

Используйте их при:

  • изменении высот строк,
  • перестроении колонок,
  • смене размеров контейнера.

3) A11y‑контракт

Рекомендуемый минимум в адаптере:

  • один активный фокус (roving tabindex),
  • aria‑роль для grid‑контейнера,
  • aria‑col/row для ячеек,
  • управление фокусом при scroll/selection.

4) Частые ошибки

  • Рендер «лишних» строк без синхронизации с проекцией.
  • Прерывание измерений при частых resize.
  • Потеря фокуса при обновлении выборки.

MIT Licensed