Skip to main content

Accessibility Validation

TradeScript's product target is WCAG 2.2 Level AA. Applications should validate semantic, keyboard, focus, motion, and contrast behavior together with their own surrounding UI. Real assistive-technology checks remain a release sign-off because browser accessibility trees and screen-reader behavior vary by platform.

TradeScript chart data table used to verify keyboard navigation, reading order, cell labels, and focus behavior
Example evidence state: the chart data table open with visible-range controls, column headers, data rows, and export actions.

Evidence record

Record one of these per executed checklist item. An item without a complete record is not passed.

FieldRequired evidence
BuildSDK version, host commit, theme, enabled features
EnvironmentOS, browser, assistive technology, viewport and zoom
ScenarioExact starting state and numbered actions
ResultPass/fail plus observed announcement, focus, and visible state
ArtifactScreenshot/video where useful and concise issue/log reference
OwnerSDK, host, adapter, content, or browser limitation

Application release gate

Run your application typecheck, production build, automated accessibility scan, keyboard checks, and the release checklist below for every release that changes chart configuration or surrounding UI.

The contrast gate enforces at least 4.5:1 for normal text and 3:1 for focus indicators and other non-text UI boundaries, following WCAG 2.2 Contrast (Minimum). Keyboard acceptance follows SC 2.1.1, and visible focus follows SC 2.4.7.

Release checklist

Execute every item. Each row states the state to set up first, the exact action, and the criteria that decide pass or fail — no interpretation is required. Default owner is SDK unless the row says otherwise; reclassify to host, adapter, content, or browser limitation in the evidence record when the failure is outside SDK UI.

#Required starting stateActionPass whenFail when
1Chart mounted with live data; chart focusedRead the accessible name and description with the screen readerName includes symbol, exchange, and interval; description contains chart position, latest OHLCV, and visible-range high/lowAny of those values is missing, stale, or generic
2Chart mounted; accessibility.keyboardNavigation enabledPress Alt+Z, then Arrow/Home/End through both named toolbarsDisabled controls are skipped and the focus indicator stays visible on every stopFocus lands on a disabled control, disappears, or leaves the toolbar unexpectedly
3Chart focusedPress Left/Right, Home/End, PageUp/PageDown, Up/DownEvery move updates the visual crosshair and announces bar time, price, and exact OHLCV without moving page focusA move skips the announcement, announces rounded values, or scrolls/moves page focus
4Chart focusedPress Alt+D; navigate cells with Arrow/Home/End/PageUp/PageDown; activate a time cell; press EscapeNamed modal with semantic table headers, bounded pagination, and exact values; focus is trapped, Escape closes, focus is restored; activating a time cell moves the visual crosshair to that rowHeaders are not announced, values differ from the chart, focus escapes or is not restored, or the crosshair does not move
5Chart with data; no pointer input usedPress Alt+Shift+D; create one-point, two-point, and multi-point drawings using only the tool and point controlsAll three drawings appear at the chosen exact visible-bar/price pointsAny drawing requires the pointer or lands at a different point
6Chart with at least two visible drawings, one lockedPress Alt+O and Shift+Alt+O to cycle; apply Arrow, Shift+Arrow, Alt+Arrow, Delete, EscapeCycling reaches every visible drawing; move/clone/delete apply as documented; the locked drawing rejects mutation; every operation is politely announcedAn operation applies silently, mutates the locked drawing, or skips a drawing
7Four-chart layoutPress Tab/Shift+Tab and Shift+ArrowLeft/ArrowRightCharts switch, DOM focus transfers to the active chart, and the newly focused chart's label/description is announcedFocus and the announced chart disagree, or focus stays behind
8Every shared dialog, tabset, select, and the default context menu, opened one at a timeOperate each with Arrow keys, Enter/Space, and EscapeCorrect roles and names are exposed; arrow navigation works; modal surfaces trap focus and restore it on close; Escape behaves as documentedA role/name is missing, focus escapes a modal, or focus is not restored. Custom host renderers are owner: host
9OS-level reduced motion, increased contrast, and forced colors enabled (one at a time)Reload and inspect the chart and chromeNo essential information disappears and the focus indicator remains distinguishable in every modeInformation conveyed only by the suppressed effect, or an indistinguishable focus indicator. Customer themes are owner: host
10200% browser zoom, then narrow responsive widthOperate controls and the data tableControls and table content remain operable without two-dimensional page scrolling outside the table's own bounded regionContent or controls become unreachable, or the page itself must scroll in two dimensions

Assistive-technology matrix

Run the checklist above once per row of this matrix for every release candidate that changes chart DOM, keyboard handling, dialogs, toolbars, drawing controls, or theme tokens. Record the release, browser/screen-reader versions, tester, result, and evidence link in the release ticket.

PlatformBrowserAssistive technologyChecklist itemsAdditional required checks
macOSSafari currentVoiceOver current1–10
WindowsFirefox currentNVDA current1–10Browse/focus mode transitions and table navigation
WindowsChrome currentJAWS current1–10Forms mode for selects, price inputs, and drawing point controls
WindowsEdge currentNarrator current1–10Forced-colors mode and multi-chart focus transfer
iOS/iPadOSSafari currentVoiceOver current1, 4, 8Touch exploration of chart description/table and operation of all non-canvas controls
AndroidChrome currentTalkBack current1, 4, 8Touch exploration of chart description/table and operation of all non-canvas controls

Conformance boundary

TradeScript covers built-in chart UI, keyboard commands, semantic chart data, built-in theme tokens, and default portals. Your application remains responsible for the mount-page document structure, custom UI, custom CSS, customer themes, broker widgets, and global shortcut conflicts. Run auditChartThemeContrast() in application CI whenever theme tokens change.

  • Accessibility — the implemented behavior each row above validates.
  • Themes — the token surface auditChartThemeContrast() checks.
  • Verify your deployment — where these checks sit in a release smoke suite.