Measured, the same way
ANDI is the Social Security Administration's accessibility tester, the tool a federal manual tester runs. Glass runs it over every course it scans, and on 22 September 2026 we ran it over our own pages: this site, a course report, an account roll-up, and the pages shown inside Canvas. It found real problems, which we fixed the same day: two of our colors fell below the 4.5:1 contrast ratio, one table lacked column scopes, and neither the site nor the report had a skip link.
| Pages | Failures | Manual checks | What the manual checks were, and what we found |
|---|---|---|---|
| This site, nine pages | 0 | 3 to 6 each | Text over the masthead's gradient and glass panels. Checked by hand: white text against the darkest and the lightest end of the gradient exceeds 5:1. The step numbers are drawn by the stylesheet and hidden from assistive technology. |
| A course report | 0 | 51 | Bars and status dots drawn with gradients, and buttons taken out of the tab order while their action is unavailable, which is deliberate: they are marked unavailable and come back when the action is ready. |
| An account roll-up | 0 | 14 | The same gradient bars, each with its value in words. |
| Pages inside Canvas: connect, waiting, for administrators | 0 | 1 | The wordmark at the top is large and bold without being a heading. It is a name, not a section. |
Failures are what ANDI calls danger: a measured breach, such as text below 4.5:1. Manual checks are what it cannot decide alone. Reports published before 22 September carry the color fix from their next publish.
Known limits
- The waiting page reloads itself. While a course's first scan runs, the page checks every thirty seconds and turns into the report when it is ready. It stops as soon as the report exists.
- Progress is not yet announced. When a repair run finishes, the report's numbers move without a reload, but a screen reader is not told. A live region is planned.
- Bars are pictures. The fill of a progress bar against its track is below 3:1. The number beside every bar is the information.
Tell us
If anything on these pages, on a report or in a review kit gets in your way, write to the address on the About page and say which page and what happened. We treat it as a defect in the product, because it is one.
WCAG 2.1, criterion by criterion
Levels A and AA, fifty criteria. This table is our self-assessment of the pages Glassability serves; a college that needs a formal Accessibility Conformance Report in the VPAT 2.5 format can have one drawn from it on request.
| Criterion | Name | Level | Status | Remarks |
|---|---|---|---|---|
| 1.1.1 | Non-text content | A | Supports | The one image, the glass orb, is decorative and hidden from assistive technology. Progress bars carry their value as text. |
| 1.2.1 | Audio-only and video-only | A | Not applicable | No audio or video on our pages. |
| 1.2.2 | Captions (prerecorded) | A | Not applicable | |
| 1.2.3 | Audio description or media alternative | A | Not applicable | |
| 1.2.4 | Captions (live) | AA | Not applicable | |
| 1.2.5 | Audio description (prerecorded) | AA | Not applicable | |
| 1.3.1 | Info and relationships | A | Supports | Real headings, lists, tables with column scopes, sections named by their headings, native buttons and form labels. |
| 1.3.2 | Meaningful sequence | A | Supports | Reading order is source order; nothing is repositioned by style. |
| 1.3.3 | Sensory characteristics | A | Supports | Every colored mark has words beside it. |
| 1.3.4 | Orientation | AA | Supports | Both orientations. |
| 1.3.5 | Identify input purpose | AA | Not applicable | The only form field is a Canvas access token, which has no defined purpose value. |
| 1.4.1 | Use of color | A | Supports | Status dots, verdict orbs and bars all carry a text label. |
| 1.4.2 | Audio control | A | Not applicable | |
| 1.4.3 | Contrast (minimum) | AA | Supports | Measured with ANDI on 22 September 2026: no text below 4.5:1 on the site, the report, the roll-up or the Canvas-facing pages. Reports published before that date carry the fix from their next publish. |
| 1.4.4 | Resize text | AA | Supports | Text sizes in relative units; the layout reflows at 200 percent. |
| 1.4.5 | Images of text | AA | Supports | None. |
| 1.4.10 | Reflow | AA | Supports | Single column at narrow widths; wide tables scroll inside their own frame, the page never scrolls sideways. |
| 1.4.11 | Non-text contrast | AA | Partially supports | Focus outlines and form borders exceed 3:1. The fill of a progress bar against its track is below 3:1; the number beside it is the information, the bar a picture of it. |
| 1.4.12 | Text spacing | AA | Supports | Nothing clips or overlaps with the specified spacing overrides. |
| 1.4.13 | Content on hover or focus | AA | Not applicable | No hover or focus content beyond the browser's own. |
| 2.1.1 | Keyboard | A | Supports | Every control is a link, a button, a native form field or a disclosure. |
| 2.1.2 | No keyboard trap | A | Supports | |
| 2.1.4 | Character key shortcuts | A | Not applicable | No shortcuts. |
| 2.2.1 | Timing adjustable | A | Partially supports | The page shown while a first scan runs reloads itself every thirty seconds and stops when the report is ready. A session from Canvas lasts eight hours of use and then offers the way back; nothing is lost. |
| 2.2.2 | Pause, stop, hide | A | Supports | The only motion is a small pulsing dot while a run is live; it is still under the reduced-motion setting. |
| 2.3.1 | Three flashes or below threshold | A | Supports | Nothing flashes. |
| 2.4.1 | Bypass blocks | A | Supports | A skip link to the content is the first focusable element on the site and on the report. |
| 2.4.2 | Page titled | A | Supports | Every page names itself and the course or account. |
| 2.4.3 | Focus order | A | Supports | Source order. |
| 2.4.4 | Link purpose (in context) | A | Supports | Link text says where it goes; no bare addresses, no “click here”. |
| 2.4.5 | Multiple ways | AA | Supports | The menu on every page, the footer, and links between related pages. |
| 2.4.6 | Headings and labels | AA | Supports | |
| 2.4.7 | Focus visible | AA | Supports | Browser focus rings are never suppressed; the report's buttons add a high-contrast outline. |
| 2.5.1 | Pointer gestures | A | Not applicable | No gestures. |
| 2.5.2 | Pointer cancellation | A | Supports | Actions happen on the up event, the browser default. |
| 2.5.3 | Label in name | A | Supports | Visible labels are the accessible names. |
| 2.5.4 | Motion actuation | A | Not applicable | |
| 3.1.1 | Language of page | A | Supports | Every page declares English. |
| 3.1.2 | Language of parts | AA | Not applicable | No passages in other languages. |
| 3.2.1 | On focus | A | Supports | Focusing changes nothing. |
| 3.2.2 | On input | A | Supports | Forms submit only on their button. |
| 3.2.3 | Consistent navigation | AA | Supports | |
| 3.2.4 | Consistent identification | AA | Supports | |
| 3.3.1 | Error identification | A | Supports | A refused token is explained in a sentence beside the field. |
| 3.3.2 | Labels or instructions | A | Supports | |
| 3.3.3 | Error suggestion | AA | Supports | The explanation says what to do next. |
| 3.3.4 | Error prevention (legal, financial, data) | AA | Supports | No change reaches a course without the instructor's press, and every change is reversible from its before copy. |
| 4.1.1 | Parsing | A | Supports | Well-formed documents. |
| 4.1.2 | Name, role, value | A | Supports | Native elements throughout; unavailable buttons are marked disabled. |
| 4.1.3 | Status messages | AA | Partially supports | When a repair run finishes, the report's numbers move without a reload but are not yet announced to a screen reader. A live region is planned. |
Assessed 22 September 2026 on the pages as served that day. Statuses follow the VPAT vocabulary: Supports, Partially supports, Not applicable.