Skip to main content

Accessibility Statement

Last Updated: September 11, 2026

This statement applies to the website theartofcto.com, its interactive tools, the Command Center, and our mobile application. It is published by [TO CONFIRM: registered legal entity name] ("The Art of CTO").

1. Conformance status

The Art of CTO is partially conformant with WCAG 2.2 Level AA. "Partially conformant" means some parts of the content do not fully conform to the standard. Our own review in September 2026 identified failures against four Level A and Level AA success criteria — 1.3.1, 2.4.3, 3.3.2 and 4.1.2 — affecting several hundred individual controls, dialogs and table headers. Those failures are listed in Section 3 below, with counts and with the criteria they fail.

We are stating this plainly because we sell a WCAG assessment tool. Claiming a conformance level we have not reached would be the exact failure that tool exists to catch.

The target standard is WCAG 2.2 Level AA, which is also the standard referenced by EN 301 549 for the purposes of the European Accessibility Act (Directive (EU) 2019/882).

2. What already works

So that the list in Section 3 is read in proportion, the following are in place across the Platform:

  • Semantic HTML structure with landmark regions and a single H1 per page
  • Server-side rendering, so content is present without JavaScript for the reading experience
  • Both themes now meet AA contrast on every semantic colour token — see “Fixed since the last version” in Section 3
  • Keyboard-operable primary navigation, plus a command menu on Cmd+K / Ctrl+K
  • Text that reflows and remains readable at 200% zoom and on small viewports
  • Automated accessibility checks (pa11y against WCAG 2 AA, plus Lighthouse) run against key pages in our test suite

3. Known barriers

These are the accessibility problems we know about and have not yet fixed. The counts come from our own audit of the codebase, not from an estimate; where a fix lands, this list shrinks.

Form fields without programmatic labels

WCAG 2.2 SC 1.3.1 Info and Relationships, SC 3.3.2 Labels or Instructions, SC 4.1.2 Name, Role, Value

We counted 270 form controls with no programmatic label, spread across roughly 27 tool files: 60 of 87 select elements, 186 of 273 inputs, and 24 of 31 textareas. These rely on placeholder text or on adjacent visual text rather than an associated label element or an aria-label. A screen reader announces them as unlabelled, and placeholder text disappears as soon as you start typing. This is the largest single barrier on the Platform and the one most likely to stop a tool being usable at all.

Where: Interactive tool pages under /tools, and the search field on the support and FAQ surface.

Icon-only buttons without an accessible name

WCAG 2.2 SC 4.1.2 Name, Role, Value

We counted 53 buttons whose visible content is only an icon or a symbol and which carry no aria-label and no visually hidden text. Assistive technology announces them as "button" with no indication of what they do.

Where: Toolbars, close controls, expand/collapse controls and card actions across the tools and Command Center.

Dialogs without dialog semantics or focus management

WCAG 2.2 SC 4.1.2 Name, Role, Value, SC 2.4.3 Focus Order

We counted 76 hand-rolled modal overlays built from plain container elements rather than a native dialog element or an element with role="dialog" and an accessible name. Of those 76, none traps focus while it is open and none returns focus to the control that opened it on close. Keyboard and screen-reader users can therefore tab out of an open dialog into the page behind it, and lose their place entirely when it closes.

Where: Modal overlays across the tools, the Command Center and the dashboard.

Data tables without header associations

WCAG 2.2 SC 1.3.1 Info and Relationships

We counted 450 table header cells across 62 files that carry no scope attribute and no explicit header/cell association. In a simple table a screen reader can often infer the relationship, but in the wider tables we use — comparison matrices, entity registers, cost breakdowns — it cannot reliably, so cell values are announced without the column or row they belong to.

Where: Tables across the Command Center, the tools, and the policy pages on this site.

Fixed since the last version

Listed rather than quietly deleted, so that anyone who read the earlier version of this statement can see what changed and check it.

Text contrast in light mode

Fixed September 2026. The earlier version of this statement reported tertiary text at 2.43:1, muted text at 1.41:1, the orange accent at 2.23:1, success green at 2.18:1, warning amber at 2.06:1, error red at 3.60:1 and info blue at 3.52:1 against the light background. Every one of those tokens was re-derived. Re-measured: tertiary text 5.15:1, muted text 4.63:1, success 6.24:1, warning 6.01:1, error 5.38:1, info 6.42:1. The brand orange is unchanged as a fill, border and icon colour, where it passes non-text contrast; used as text on a light ground it now resolves to a darker tone measuring 5.60:1. The status colours were deliberately taken above the 4.5:1 minimum so that the common tinted-badge pattern still clears it. Dark mode was re-checked at the same time and did not regress.

Not yet assessed. Some parts of the Platform have not been assessed in detail against WCAG 2.2 AA and may contain further barriers: the graphical tools (Wardley maps, the system design canvas, the ArchiMate workspace and the causal graph editor), generated PDF exports, and the mobile application. We do not claim conformance for these, and we would rather say so than imply a coverage we have not achieved.

Third-party content. Some functionality is provided by third parties — the Auth0 hosted sign-in pages, the Stripe checkout and billing portal, and embedded media. We do not control the accessibility of those interfaces, though we do take it into account when selecting providers.

4. Remediation plan

The work below is sequenced but not yet scheduled: we have not committed to completion dates and we are not going to publish ones we invented. The order reflects how much of the Platform each item unblocks. When dates are set, they will appear here and the "Last Updated" date at the top of this page will change with them.

  1. Form labels: associate a label or accessible name with all 270 unlabelled controls, starting with the highest-traffic tool pages. This is first because an unlabelled form is the difference between a tool being slow to use and being unusable.
  2. Dialog semantics and focus management: move the 76 hand-rolled overlays onto a single accessible dialog primitive that sets role and accessible name, traps focus while open, and restores it to the trigger on close. Doing this once in a shared primitive fixes all 76 and stops the 77th being written.
  3. Icon-button names: give the 53 icon-only buttons an aria-label or visually hidden text.
  4. Table header associations: add scope attributes to the 450 header cells that lack them.
  5. Regression guard: extend our automated checks so unlabelled controls, unnamed icon buttons and unscoped headers fail the build, so the counts above cannot climb back up while we work through them.
  6. Independent audit: we have not commissioned a third-party accessibility audit and have none booked. If we commission one, its findings and date will be published here.

If a barrier above is blocking you right now, tell us at support@theartofcto.com — a specific report moves an item up this list faster than the list does on its own.

5. Assessment approach

This statement is based on a self-evaluation carried out in September 2026, combining automated testing (pa11y against WCAG 2 AA, Lighthouse accessibility audits, and axe-based checks in our end-to-end suite) with manual review of keyboard operation, screen-reader output and colour contrast. It has not been reviewed or verified by an independent third party.

6. Compatibility and technical specifications

The Platform is designed to work with recent versions of Chrome, Firefox, Safari and Edge, in combination with the screen reader shipped with the operating system. It relies on HTML, WAI-ARIA, CSS and JavaScript; where JavaScript is unavailable, content pages still render but interactive tools do not function.

7. Feedback and contact

If you hit a barrier on this site, or you need something on it in a different format, please tell us. Reports of specific barriers are the fastest route to getting them fixed, and we treat them as bugs rather than suggestions.

  • Email: support@theartofcto.com — please include the page address and what happened
  • We acknowledge accessibility reports within 2 business days and give you a substantive response, including a remediation timeline, within 10 business days
  • If we cannot make specific content accessible, we will provide the information in an alternative format on request

8. Enforcement

If you are not satisfied with our response:

  • European Union: you may contact the market surveillance or enforcement authority designated under the European Accessibility Act in your Member State.
  • United Kingdom: you may raise a complaint under the Equality Act 2010 through the Equality Advisory and Support Service.
  • Australia: you may lodge a complaint with the Australian Human Rights Commission under the Disability Discrimination Act 1992.