Accessibility in DHTMLX Grid
DHTMLX Grid is built to be usable by everyone, including people who rely on keyboards, screen readers, screen magnification, or high-contrast display modes. WAI-ARIA semantics are part of the rendered markup, and a single, coherent focus model spans the header, body, and footer.
DHTMLX Grid is designed to meet WCAG 2.2 Level AA, Section 508 of the U.S. Rehabilitation Act, and EN 301 549 (the technical baseline of the European Accessibility Act). Because WCAG 2.2 AA also satisfies ADA and Section 508 expectations, a single conformance target covers the major regulatory requirements.
Conformance is reported criterion by criterion rather than as a blanket claim. The detailed Accessibility Conformance Report (VPAT® 2.5) is available: Accessibility Conformance Report.
At a glance
| Area | Support |
|---|---|
| Keyboard operation | Full: cell navigation, editing, sorting, range selection, tree expand/collapse, and clipboard all have keyboard equivalents. Cell navigation works in every configuration, with or without a selection module |
| WAI-ARIA semantics | Built-in (grid / treegrid model), always rendered |
| Focus model | Tab / Shift + Tab move cell by cell through the header, body, and footer and leave the grid at its ends; the arrow keys move within and between the zones |
| Selection model | Optional: single-cell/row (selection) or spreadsheet-style range (blockSelection), for selecting cells and ranges |
| Screen readers | Tested with NVDA, JAWS and VoiceOver |
| Visual accessibility | Dedicated light and dark high-contrast themes (color-blind friendly, AA contrast, 16px base) and non-color cues |
| Text resize / zoom | Layout remains operable up to 400% zoom / text spacing overrides |
| Customization | Public announce() API for dynamic messages, and localizable aria_* strings for every built-in screen-reader description |
| Standards | WCAG 2.2 AA, Section 508, EN 301 549 |
Use this page to verify the component against your own accessibility checklist, and to learn how to configure the Grid for an accessible deployment.
Scope
This guide covers the Grid widget itself:
- the data body: cells and rows, including tree mode (
type: "tree") - the column header: sortable headers and in-header filters
- the footer: summaries and footer filters
- the inline editors
- the keyboard model that connects these zones.
As with any embeddable component, the accessibility of the final page also depends on the host application (see Host-page responsibilities).
Setting up an accessible Grid
The Grid ships accessible by default: WAI-ARIA output is emitted automatically, and keyboard navigation is on (keyNavigation: true), so the whole cell surface can be reached and walked with the keyboard in any configuration. For a fully WCAG 2.2 AA-compliant deployment, the only other thing you need is an AA-contrast theme. The recommended configuration is:
// 1. WAI-ARIA output is always on, and keyboard navigation is enabled by default - no action needed
const grid = new dhx.Grid("grid_container", {
columns: [/* ... */],
data: dataset,
keyNavigation: true // true - by default
});
// 2. Select an AA-conformant theme
dhx.setTheme("contrast-light"); // or "contrast-dark"
The theme can also be applied through the data-dhx-theme attribute of the container or of the root element; see the Themes overview for all the options.
Add a selection module only when users need to select cells or ranges; see the next section.