Prepared Docs

Prepared Docs

⌘K

    Loading navigation…

User

  1. Blocks
  2. Crud Page
  3. Accessibility

Crud Page

Accessibility

Overview

CrudPage is a layout shell. It does not introduce new interactive roles beyond what its children provide. Accessibility expectations are inherited from PageHeader / CrudPageHeader, DataTableToolbar, DataTable, and any Callout or Banner you place in CrudPageAlert.

Heading and landmarks

The title row still comes from PageHeader semantics: the visible title is emphasized text, not a guaranteed native h1. The route should expose a correct document outline (for example a single logical h1 or an equivalent strategy consistent with your shell).

Place the page inside the app’s primary <main> landmark; do not introduce a second <main>.

Keyboard and focus order

Slots render as header → alert → toolbar → body. Tab order should follow that visual order: breadcrumb and title row first, then alert actions (for example a Callout CTA), then toolbar controls (search, filters, primary CTA), then the table and its cell widgets.

Keep toolbar actions keyboard reachable; avoid trapping focus inside filter popovers when the user dismisses them.

Read-only and notices

When CrudPageHeader uses readOnly, the same ReadOnlyBadge rules as Page header accessibility apply: the badge should expose why editing is blocked, and optional tooltip content should name missing permissions.

CrudPageAlert keeps notices outside the scrolling body. If a Callout is dismissible, ensure dismiss targets are labeled and focus returns to a sensible element after close. For non-dismissible warnings, do not imply an action that is not available.

Tables

DataTable supplies the grid semantics, sort and filter keyboard behavior, and pagination. Follow Data table accessibility for keyboard and screen reader expectations inside the body region.

Previous

Crud Page / API and Development

Next

Page Header / Usage

On this page

Overview
Heading and landmarks
Keyboard and focus order
Read-only and notices
Tables