Skip to main content

Accessibility Conformance Report

This report documents how DHTMLX Spreadsheet conforms to the major accessibility standards. It follows the VPAT® 2.5 (International Edition) structure. For a task-oriented overview of the accessibility features and how to configure them, see the Accessibility guide.

Name of Product/Version: DHTMLX Spreadsheet v6.0.4

Report Date: October 2026

Product Description: DHTMLX Spreadsheet is a JavaScript spreadsheet component for web applications. Its interface consists of a menu bar, a toolbar, a formula bar, a cell grid with row and column headers, and sheet tabs. Its features include formulas, cell formatting, merged cells, frozen rows and columns, sorting, filtering, search, data validation, cell links, and Excel import and export. It is embedded by a host web application.

Contact Information: info@dhtmlx.com

Notes​

  • This report evaluates DHTMLX Spreadsheet in its recommended accessibility configuration: the default configuration, where the WAI-ARIA output and the keyboard navigation are always on, with the contrast-light or contrast-dark theme set through dhx.setTheme() or the data-dhx-theme attribute. The Remarks state where a conformance level depends on this configuration. See the Accessibility guide for the setup.
  • DHTMLX Spreadsheet is web content rendered by a host application. Page-level responsibilities (the page title, <html lang>, skip/bypass mechanisms, and site-wide navigation) belong to the host application and are reported as Not Applicable with an explanation.
  • In the WCAG tables, only the Web response is populated. The Electronic Docs, Software, Closed, and Authoring Tool rows are Not Applicable: the product is not standalone (non-web) software, closed functionality, an authoring tool, or a piece of electronic documentation.
  • Colors that an author applies to cells through cell styles are part of the document data and are not evaluated as part of the product.

Evaluation Methods Used:

  • Automated testing: axe-core in the light, dark, contrast-light and contrast-dark themes, with the search bar, the list editor, the dialogs and an alert open.
  • Manual code review of the component source and stylesheets: the roles and ARIA attributes of each part of the widget, the keyboard handlers and focus regions, the accessible names and their locale keys, and the theme color tokens, with contrast ratios computed for the four themes.
  • Assistive-technology testing: manual passes with NVDA + Firefox and JAWS + Chrome on Windows and VoiceOver + Safari on macOS.
  • Browser overrides: 200% / 400% zoom, reflow at 320 CSS px, and WCAG text-spacing overrides.

Applicable standards / guidelines​

Standard / GuidelineIncluded in report
Web Content Accessibility Guidelines 2.0Level A (No) · Level AA (No) · Level AAA (No)
Web Content Accessibility Guidelines 2.1Level A (No) · Level AA (No) · Level AAA (No)
Web Content Accessibility Guidelines 2.2Level A (Yes) · Level AA (Yes) · Level AAA (No)
Revised Section 508 standards (published Jan 18, 2017; corrected Jan 22, 2018)(Yes)
EN 301 549 - V3.1.1 (2019-11) and V3.2.1 (2021-03)(Yes)

WCAG 2.0 and 2.1 are not reported separately. Criteria that WCAG marks "2.1 and 2.2" are answered because they are part of WCAG 2.2 and are referenced by EN 301 549.

Terms​

  • Supports: The functionality of the product has at least one method that meets the criterion without known defects, or meets with equivalent facilitation.
  • Partially Supports: Some functionality of the product does not meet the criterion.
  • Does Not Support: The majority of product functionality does not meet the criterion.
  • Not Applicable: The criterion is not relevant to the product.

WCAG 2.x report​

DHTMLX Spreadsheet is web content, so only the Web response is populated below. "Requires an AA-conformant theme" is a configuration dependency, not a defect. Criterion 4.1.1 Parsing is removed in WCAG 2.2 and is not reported.

Table 1: Success Criteria, Level A​

CriteriaConformance levelRemarks and explanations
1.1.1 Non-text ContentSupportsIcons are font glyphs. Icon-only controls take their accessible name from the locale or from their tooltip, for example "Add sheet", "Close search" and "Select all". The color buttons carry the name of the color, for example "Text color: dark gray". Decorative icons (lock, filter, column menu, hidden-line markers), the selection layer and the cells covered by a merged cell are hidden with aria-hidden="true"; the state they show is carried by text in the cell, such as "locked" and "Filter applied".
1.2.1 Audio-only and Video-only (Prerecorded)Not ApplicableThe product contains no audio or video content.
1.2.2 Captions (Prerecorded)Not ApplicableNo prerecorded multimedia.
1.2.3 Audio Description or Media Alternative (Prerecorded)Not ApplicableNo prerecorded multimedia.
1.3.1 Info and RelationshipsSupportsThe cells are a grid named "Spreadsheet" with row, columnheader, rowheader and gridcell roles. Position is exposed with aria-rowindex/aria-colindex against aria-rowcount/aria-colcount; the extent of a merged cell with aria-colspan/aria-rowspan; editability with aria-readonly; selection with aria-selected and aria-multiselectable. The toolbar, the menu bar and the sheet tabs are toolbar and menubar elements with names; the formatting toggles have aria-pressed on the toolbar and are menuitemcheckbox in the menu bar, and exclusive formatting options are menuitemradio with aria-checked.
1.3.2 Meaningful SequenceSupportsDOM and reading order follow the visual order: the menu bar, the toolbar, the formula bar, the cells and the sheet tabs. The cells carry their position in the sheet through aria-rowindex/aria-colindex, so the sequence is preserved when rows and columns are scrolled out of the DOM.
1.3.3 Sensory CharacteristicsSupportsNo instruction or label relies solely on shape, size, or spatial location; interactive elements carry text or an ARIA name.
1.4.1 Use of ColorSupportsEach state shown by color also has a border, a fill, a marker or text: the active cell, the selected range, search matches, the copied range and invalid cells, together with aria-selected or text in the cell. Rows hidden by a filter leave a gap in the row numbers. The color buttons carry the color name in their accessible name.
1.4.2 Audio ControlNot ApplicableThe product produces no auto-playing audio.
2.1.1 KeyboardSupportsEvery command on the cells has a key, listed in the Hot keys list; Shift+F10 or the Menu key opens the context menu. Ctrl+F6 moves the focus between the menu, the toolbar, the sheet and the sheet tabs. The bars, their dropdowns and popups, and the list editor work with the arrow keys, Home, End, Enter and Esc. The column width, the row height and the column filter have context menu commands.
2.1.2 No Keyboard TrapSupportsTab on the last cell and Shift+Tab on the first cell of the sheet move the focus out of the cells to the next or the previous part of the page, and Ctrl+F6 moves it between the parts of the Spreadsheet. In the list editor Tab ends the edit and Esc cancels it, also after the arrow keys were used. Esc and Tab close the toolbar popups and return the focus to their buttons.
2.1.4 Character Key ShortcutsSupportsEvery shortcut uses a modifier key (Ctrl, Alt, Shift) or a non-character key (F2, F6, F10, F11, Enter, Esc, Delete, arrows). Typing a character on a cell enters it into the cell, which is the purpose of the cell, and doesn't run a command.
2.2.1 Timing AdjustableNot ApplicableThe product sets no time limits.
2.2.2 Pause, Stop, HideSupportsThere is no auto-updating, moving, blinking or scrolling content. No animation lasts more than 5 seconds.
2.3.1 Three Flashes or Below ThresholdSupportsThe product contains no flashing content.
2.4.1 Bypass BlocksNot ApplicableApplies at page level; bypass mechanisms belong to the host application.
2.4.2 Page TitledNot ApplicablePage titles are the host application's responsibility.
2.4.3 Focus OrderSupportsThe cells are one tab stop on the active cell, and the toolbar, the menu bar and the sheet tabs are one tab stop each, in visual order. Tab leaves the sheet at the last and the first cell. Dialogs take the focus, keep Tab inside, and return the focus to the active cell when they close; menus, context menus and popups return the focus to the control that opened them, and after a text or background color is applied, the focus returns to the active cell. The active cell is scrolled into view when it receives the focus.
2.4.4 Link Purpose (In Context)SupportsA link in a cell is rendered as an <a href> element whose text is the link text set by the author, or the address. The cell text adds "link" when the cell is selected, and Alt+Enter opens it.
2.5.1 Pointer GesturesSupportsNo operation requires a multipoint or path-based gesture; every drag operation has a non-drag alternative (see 2.5.7).
2.5.2 Pointer CancellationSupportsColumn and row resizing and the fill handle apply on release, and one undo reverts each of them. Commands of the toolbar, the menus and the sheet tabs run on click.
2.5.3 Label in NameSupportsControls with visible text take that text as their accessible name: the menu items, the context menu commands, the sheet tabs and the dialog buttons. Icon buttons are named by their tooltip, and the color buttons by their tooltip followed by the color name.
2.5.4 Motion ActuationNot ApplicableNo functionality is operated by device motion or user motion.
3.1.1 Language of PageNot ApplicableThe document language (<html lang>) is set by the host application.
3.2.1 On FocusSupportsReceiving focus never changes context. A click on a column letter, a row number or the corner selects the lines and keeps the focus on the active cell.
3.2.2 On InputSupportsChanging a value does not change context. Editing a cell, choosing a value from a list or typing in the search bar updates the sheet in place, which is the documented purpose of those controls.
3.2.6 Consistent Help (2.2 only)Not ApplicableThe widget provides no help mechanism; this is a page-level concern.
3.3.1 Error IdentificationSupportsFormula errors and invalid list values are described in the cell content, for example "Reference error. Check the cell references" and "Invalid value. Choose a value from the list". New formula errors and invalid values caused by an edit are announced through the live region, and the editor of an invalid value has aria-invalid="true".
3.3.2 Labels or InstructionsSupportsThe cell editor is named "Cell editor, B7" and the formula bar "Formula bar, B7", with the address of the edited cell. The dialog fields are labelled, for example "Width in pixels", and the search bar buttons are named "Previous match", "Next match" and "Close search".
3.3.7 Redundant Entry (2.2 only)SupportsThe product contains no multi-step process that asks for information already entered.
4.1.2 Name, Role, ValueSupportsEach part exposes a role, its states and a name from the locale: the cells (grid, row, gridcell, columnheader, rowheader, aria-selected, aria-readonly), the toolbars and the menu bar (toolbar, menubar), the formatting, Lock and Filter buttons and the sheet tabs (aria-pressed), the formatting items of the menu bar (menuitemcheckbox, aria-checked), and the exclusive formats (menuitemradio, aria-checked). Alerts are alertdialog with aria-modal="true". The list editor is a combobox that controls a listbox, with aria-expanded and aria-activedescendant.

Table 2: Success Criteria, Level AA​

CriteriaConformance levelRemarks and explanations
1.2.4 Captions (Live)Not ApplicableNo live multimedia.
1.2.5 Audio Description (Prerecorded)Not ApplicableNo prerecorded video.
1.3.4 OrientationSupportsContent is not restricted to a single display orientation.
1.3.5 Identify Input PurposeNot ApplicableThe product's editors collect document data, not the user's own personal information covered by the WCAG input-purpose list.
1.4.3 Contrast (Minimum)SupportsThe contrast-light and contrast-dark themes meet AA: no product text is below 4.5:1 in either theme, with the search bar, the list editor, the column width dialog and an alert open. The formula reference colors are 4.59:1 to 7.04:1 in the light and contrast-light themes, and 7.62:1 to 12.26:1 in the dark themes. In the default light theme, secondary text such as dialog field labels and alert text is about 3.95:1. Meeting the criterion requires selecting one of the contrast themes, and one supported method meets it.
1.4.4 Resize TextSupportsText can be resized to 200% without loss of content or functionality; the toolbar, the formula bar, the sheet tabs and the dialogs remain usable.
1.4.5 Images of TextSupportsAll text is rendered as real text. Icons are font glyphs; the product uses no raster images.
1.4.10 ReflowSupportsThe cells are two-dimensional content, which the criterion exempts from reflow, and scroll both horizontally and vertically. The toolbar, the menu bar and the sheet tabs fit a width of 320 CSS px.
1.4.11 Non-text ContrastSupportsThe focus indicators of the cells, the formula bar and the bar controls are 2px wide and drawn in theme colors; the ratios below are given for the default light, contrast-light, dark and contrast-dark themes. The active cell is marked by a 2px solid border in --dhx-color-primary: about 3.9:1, 7.7:1, 3.4:1 and 5.3:1 against the cell background. The cell and the cell editor that have the keyboard focus get a 2px outline in the same color, with the same ratios, and about 3.3:1, 6.0:1, 3.1:1 and 4.2:1 inside a selected range. The formula bar gets a 2px outline in --dhx-spreadsheet-focus-color: about 3.9:1, 7.7:1, 5.3:1 and 6.5:1 against its background. The controls of the toolbar, the menu bar and the sheet tabs get the same outline: about 3.7:1, 7.2:1, 3.9:1 and 4.9:1 against the bar background. All values are above the 3:1 requirement.
1.4.12 Text SpacingSupportsWith the WCAG text-spacing overrides applied, no control label is cut; the sheet tab bar scrolls when the tabs grow.
1.4.13 Content on Hover or FocusSupportsToolbar tooltips stay open while hovered and are dismissed with Esc without moving the pointer or the focus. The invalid-value tooltip reports an input error, stays while the cell is active, and is removed with Esc.
2.4.5 Multiple WaysNot ApplicableApplies to locating pages within a set of web pages; out of scope for a single embedded component (host-application concern).
2.4.6 Headings and LabelsSupportsThe main parts take their accessible names from the locale: "Spreadsheet" (grid), "Formatting" (toolbar), "Borders", "Search" and "Link" (the toolbars of the Border popup, the search bar and the link popup), "Main" (menu bar), "Cell" and "Sheet" (context menus of the cells and the sheet tabs), "Sheets" (sheet tab bar), "Formula bar, B7" (formula bar) and "Cell editor, B7" (cell editor). The select-all corner is named "Select all", the search bar is named "Search" and its buttons "Previous match", "Next match" and "Close search", the button that adds a sheet is named "Add sheet", and the other dialogs are named by their titles.
2.4.7 Focus VisibleSupportsThe keyboard focus location is visible at all times. The active cell always has a 2px solid border, and the focused cell or cell editor has a 2px outline, both in the primary color of the theme. The formula bar and the controls of the toolbar, the menu bar, the sheet tabs, the Border popup, the link popup and the search bar show a 2px focus ring in the --dhx-spreadsheet-focus-color color. In the color palette, the border style list, the dropdowns of the toolbar and the menu bar, and the context menus, the focused item has a 1px dashed outline. In the list editor, the focused item is highlighted with a background color. The focus indicator is shown in every built-in theme.
2.4.11 Focus Not Obscured (Minimum) (2.2 only)SupportsThe active cell is scrolled into view next to the frozen rows and columns, so it is never left behind a frozen area.
2.5.7 Dragging Movements (2.2 only)SupportsRange selection has Shift+arrows and Ctrl+Space/Shift+Space. Column width and row height are set with the Column width and Row height commands of the context menu, with undo. Hidden rows and columns are shown with Ctrl+Shift+9/0 and the Show rows/Show columns commands. Filling cells is available through the groupFill event, which can be bound to a context menu command.
2.5.8 Target Size (Minimum) (2.2 only)Partially SupportsThe fill handle is 12 x 12 CSS px. The column and row resizers have equivalent controls, the Column width and Row height commands. The select-all corner is the 40 x 32 CSS px corner header cell, and the toolbar and menu controls are larger than 24 x 24 CSS px.
3.1.2 Language of PartsNot ApplicableThe widget does not mix languages within its content; language is host-owned.
3.2.3 Consistent NavigationNot ApplicableApplies across a set of web pages; host-application concern.
3.2.4 Consistent IdentificationSupportsCommands with the same function have the same names and icons in the toolbar, the menu bar and the context menu, and the same keys.
3.3.3 Error SuggestionSupportsError descriptions suggest a fix: "Check the cell references" for a reference error and "Choose a value from the list" for an invalid list value.
3.3.4 Error Prevention (Legal, Financial, Data)SupportsEvery change of the data can be reverted with undo (Ctrl+Z) and repeated with redo. The host application can additionally cancel any action through the beforeAction event.
3.3.8 Accessible Authentication (Minimum) (2.2 only)Not ApplicableThe product performs no authentication.
4.1.3 Status MessagesSupportsStatus changes are announced without moving focus through a visually hidden live region outside the grid (role="status", aria-live="polite", aria-atomic="true"). It reports the selected range, new formula errors and invalid values, refused edits of locked cells or a read-only sheet, search results, the start and end of import and export, new column widths and row heights, and a selection with no hidden rows or columns to show. The same region is available to the host application through the public announce() method, and every built-in message is localizable through the aria_* locale keys.

Revised Section 508 report​

WCAG-mapped provisions are answered in the WCAG 2.x report above and referenced here. Chapter 4 (Hardware) is Not Applicable, because DHTMLX Spreadsheet is a software component with no hardware or physical controls.

Chapter 3: Functional Performance Criteria​

CriteriaConformance levelRemarks and explanations
302.1 Without VisionSupportsOperable with a screen reader through the grid model with column and row headers, the cell address and descriptions read with each cell, the named toolbars and menus, the live region, and the keyboard model. See WCAG 1.3.1, 2.1.1, 4.1.2, 4.1.3.
302.2 With Limited VisionSupportsZoom, text resize and reflow are supported, the focus is visible in every theme, and AA contrast is met by the contrast-light / contrast-dark themes. See WCAG 1.4.3, 1.4.4, 1.4.10, 1.4.11, 2.4.7.
302.3 Without Perception of ColorSupportsNo information is conveyed by color alone: the active cell, the selection, search matches and invalid values each carry a border, a marker or text in the cell alongside the color, and the color buttons name the color. See WCAG 1.4.1.
302.4 Without HearingSupportsNo information is conveyed by sound.
302.5 With Limited HearingSupportsNo information is conveyed by sound.
302.6 Without SpeechSupportsNo speech input is required to operate the product.
302.7 With Limited ManipulationSupportsEvery function works from the keyboard; no path-based gesture is required, and every drag operation has a keyboard or command alternative. See WCAG 2.1.1, 2.5.1, 2.5.7, 2.5.8.
302.8 With Limited Reach and StrengthSupportsOperable by keyboard; no physical reach, force or timing requirements.
302.9 With Limited Language, Cognitive, and Learning AbilitiesSupportsCommands have the same names in the toolbar, the menus and the context menu, formula errors are described with a way to correct them, and every change can be reverted with undo. See WCAG 3.2.4, 3.3.3, 3.3.4.

Chapter 5: Software​

CriteriaConformance levelRemarks and explanations
501.1 Scope - Incorporation of WCAG 2.0 AASee WCAG 2.x sectionSee the WCAG 2.x report above.
502 Interoperability with Assistive TechnologyNot ApplicableApplies to non-web (platform) software. DHTMLX Spreadsheet is web content that exposes standard DOM and ARIA to the browser accessibility tree; interoperability is covered by the WCAG results (Clause 9 / 501.1).
503 ApplicationsNot ApplicableApplies to non-web platform software; the product is web content.
504 Authoring ToolsNot ApplicableDHTMLX Spreadsheet is not an authoring tool for web content: it edits spreadsheet data, not accessibility-relevant web content.

Chapter 6: Support Documentation and Services​

CriteriaConformance levelRemarks and explanations
602.2 Accessibility and Compatibility FeaturesSupportsThe documentation describes the product's accessibility features: the Accessibility guide covers the WAI-ARIA model, the keyboard model, the read-only mode and the selection option, the themes and the focus indicator, the announce() API and the localizable aria_* strings; the Hot keys list lists every shortcut.
602.3 Electronic Support DocumentationSupports (see WCAG 2.x section)The documentation site is delivered as web content and is maintained to meet WCAG 2.2 AA.
602.4 Alternate Formats for Non-Electronic Support DocumentationNot ApplicableDocumentation is delivered electronically only; there are no non-electronic (print) support documents.
603.2 Information on Accessibility and Compatibility FeaturesSupportsThe product's accessibility features are documented publicly in the Accessibility guide and can be provided by the support channel on request.
603.3 Accommodation of Communication NeedsSupportsSupport is provided over a text-based email channel; users interact through their own assistive technology.

EN 301 549 report​

Clause 9 (Web) maps directly to the WCAG 2.x report above and is the substantive assessment for this web product. Telephony, video, and hardware clauses (Clauses 6, 7, 8, 13) are Not Applicable.

Clause 4: Functional Performance Statements​

These mirror the Section 508 Chapter 3 results (same conclusions).

CriteriaConformance levelRemarks and explanations
4.2.1 Usage without visionSupportsSee 508 302.1 (screen-reader operable through the grid model, the cell descriptions, the named controls, the live region and the keyboard model).
4.2.2 Usage with limited visionSupportsSee 508 302.2 (AA contrast through the contrast themes, a visible focus in every theme; zoom and reflow supported).
4.2.3 Usage without perception of colourSupportsSee 508 302.3 (a border, a marker or text accompanies every color cue).
4.2.4 Usage without hearingSupportsNo information conveyed by sound.
4.2.5 Usage with limited hearingSupportsNo information conveyed by sound.
4.2.6 Usage with no or limited vocal capabilitySupportsNo speech input required.
4.2.7 Usage with limited manipulation or strengthSupportsSee 508 302.7 (keyboard-operable, no gestures, alternatives for every drag operation).
4.2.8 Usage with limited reachSupportsNo physical reach requirements (software component).
4.2.9 Minimize photosensitive seizure triggersSupportsNo flashing content (see WCAG 2.3.1).
4.2.10 Usage with limited cognition, language or learningSupportsSee 508 302.9 (consistent command names, described errors, reversible changes).
4.2.11 PrivacySupportsAccessibility features use the same interface as everyone else; there is no separate, less-private mode.

Clause 5: Generic Requirements​

Mostly Not Applicable. Clause 5 addresses closed functionality and hardware-style requirements. DHTMLX Spreadsheet is open web software that works with the platform and browser assistive technology, so the closed-functionality sub-clauses, biometrics (5.3), operable parts (5.5), and locking/toggle-control status (5.6) are Not Applicable. Where a generic requirement is met through normal assistive-technology support, it is covered by Clause 9 (Web) and the WCAG results.

Clause 9: Web​

See the WCAG 2.x section. Clauses 9.1.1.1-9.4.1.3 map to the WCAG 2.2 Level A/AA results in Tables 1 and 2 above.

Clause 11: Software​

Not Applicable (assessed under Clause 9). DHTMLX Spreadsheet is web content evaluated under Clause 9 (Web); it is not non-web software. The WCAG-mapped software provisions (11.1.1.1-11.4.1.3) are covered by the WCAG 2.x results. 11.8 (Authoring tools) is Not Applicable, because the product is not an authoring tool.

Clause 12: Documentation and Support Services​

CriteriaConformance levelRemarks and explanations
12.1.1 Accessibility and compatibility featuresSupportsThe Accessibility guide documents the product's accessibility features: the WAI-ARIA model, the keyboard model, the read-only mode and the selection option, the themes, the focus indicator, the announce() API and the localizable aria_* strings.
12.1.2 Accessible documentationSupports (see WCAG 2.x section)The documentation site is delivered as web content and is maintained to meet WCAG 2.2 AA.
12.2.2 Information on accessibility and compatibility featuresSupportsAccessibility features are documented publicly and can be surfaced by support on request.
12.2.3 Effective communicationSupportsSupport is provided over a text-based email channel; users interact through their own assistive technology.
12.2.4 Accessible documentationSupports (see WCAG 2.x section)Same basis as 12.1.2: the documentation site is maintained to meet WCAG 2.2 AA.

This report is provided for informational purposes only and describes the accessibility of the named product version as of the report date. It is provided "as is", without warranty of any kind, and does not constitute a contractual commitment or guarantee. Accessibility support may change in subsequent releases, and results apply to the evaluated configuration. "VPAT" and "Voluntary Product Accessibility Template" are registered service marks of the Information Technology Industry Council (ITI).