AdaptTable for Angular Aria

Accessible Angular Aria data table

Tab into the grid and the arrows move a visible focus, one cell at a time. Home and End jump to the row's edges.

Every move, sort, filter and edit is announced through a live region — the part of a table a sighted reader cannot check, so this page repeats those announcements as text as they happen.

columnSelectionCheckbox puts a named checkbox on each header so a column can be selected without a modifier key a touchscreen does not have. Focus, selection, status and disabled controls stay legible in high contrast and forced-colors — nothing is color-only. The grid and the checkboxes are Angular Aria.

The code

import { Component, input } from "@angular/core";
import type { ColumnDef } from "@adapttable/angular";
import { AdaptDataTable } from "@adapttable/angular-aria";
import { cellNavigation } from "@adapttable/angular-aria/cell-navigation";
import { columnSelectionCheckbox } from "@adapttable/angular-aria/column-selection";

@Component({
  selector: "app-keyboard-people",
  imports: [AdaptDataTable],
  template: `
    <adapt-data-table
      tableLabel="People keyboard grid"
      [data]="rows()" [columns]="columns()" [rowKey]="rowKey"
      [features]="features"
    />
  `,
})
export class KeyboardPeople {
  readonly rows = input.required<readonly Person[]>();
  readonly columns = input.required<readonly ColumnDef<Person>[]>();
  readonly rowKey = (row: Person) => row.id;
  readonly features = [cellNavigation(), columnSelectionCheckbox()];
}

Install

# Follow the kit setup guide for compatible peers
pnpm add @adapttable/angular-aria @adapttable/angular @angular/aria@22.2.1 @angular/cdk@22.2.1 @angular/forms@^22 rxjs@^7.8.2

The same feature in the other kits

More Angular Aria features

Reference: accessibility, cell-navigation. More of this kit: AdaptTable for Angular Aria, or the live demo.