CAI Get a survey →

The catalog

Every dimension the CAI measures.

The standard is composed of 124 dimensions across 10 lenses. Each is a definition — what it measures and how it's evaluated — pinned to a rubric version. This catalog is the standard's vocabulary; the spec documents how each folds into the score.

4 published versions · this catalog as JSON

Showing only the Accessibility lens. Show all 124 dimensions →

124 dimensions

Accessibility · 10 dimensions

IDDimensionWhat it measuresWhy it mattersEvaluator
AC1 Text alternativesmeta Whether non-text content carries a text alternative — img/area/input[type=image] have alt, a meaningful svg has a title or aria-label, video has a captions track, and object/embed/canvas have a name or fallback content. Static markup readiness, not a WCAG conformance claim. tool
AC2 Forms & labelsmeta Whether form controls have a programmatic label (an associated label, aria-label or aria-labelledby), buttons have text, links have an accessible name, fieldsets have a non-empty legend, known UI-library field components carry a label prop, and a placeholder isn't used as the only label. Static markup readiness, not a WCAG conformance claim. tool
AC3 Page structuremeta Whether pages declare a language (well-formed BCP-47) and a non-empty title, expose exactly one main landmark and a sane heading order with non-empty headings, keep zoom enabled, title their iframes, give data tables header cells, and avoid meta-refresh. Static markup readiness, not a WCAG conformance claim. tool
AC4 Keyboard semanticsmeta Whether interactive behaviour is keyboard-reachable — no click handler on a non-interactive element lacking a role, tabindex and key handler, no positive tabindex, no href-less anchor, no placeholder-href (#/javascript) link acting as a button. Static markup readiness, not a WCAG conformance claim. tool
AC5 ARIA correctnessmeta Whether ARIA is used correctly — valid non-abstract roles, the ARIA state a role requires, valid (non-misspelled) aria-* attribute names, in-enum values for token-typed aria-* attributes, and no aria-hidden on (or wrapping) a focusable element. Static markup readiness, not a WCAG conformance claim. tool
AC6 Visual & motion safetymeta Whether focus outlines aren't removed without a replacement, motion respects prefers-reduced-motion, and literal CSS colour pairs meet contrast — PARTIAL: inline styles, in-repo <style> blocks, in-repo .css files, var() tokens, Tailwind neutral utilities and CSS-in-JS literals are read (hex/rgb/hsl/named), never computed/runtime/external-CDN colour. Static markup readiness, not a WCAG conformance claim. tool
AC7 A11y enforcementmeta Whether accessibility is ENFORCED in the toolchain — an a11y linter (eslint-plugin-jsx-a11y / vuejs-accessibility) configured, and axe/pa11y/Lighthouse wired into tests or CI — on the Documented→Verified→Prevented ladder. tool
LA2 Alt-Text Quality (WCAG 1.1.1)meta LLM-judged quality of image alt text — whether each alt is a meaningful equivalent rather than a filename, generic word or placeholder. Advisory; complements the deterministic 'alt present?' check. When this is weak, images carry alt text that isn't a meaningful equivalent — filenames or generic words — so screen-reader users don't get the information the image conveys (WCAG 1.1.1), as judged by AI. LLM · advisory
LA5 Link & Button Text Quality (WCAG 2.4.4)meta LLM-judged descriptiveness of link/button text — whether each conveys its purpose out of context rather than a vague 'click here'/'read more'. Advisory; complements the deterministic 'has a name?' check. LLM · advisory
LA6 Heading & Label Text Quality (WCAG 2.4.6)meta LLM-judged descriptiveness of heading/label text — whether each meaningfully describes its section or field rather than a placeholder ('Heading', 'Untitled', 'Label'). Advisory. LLM · advisory