SageMath, Inc. Accessibility Conformance Report

WCAG Edition
(Based on VPAT® Version 2.5Rev)

Name of Product/Version:
CoCalc.ai web application (continuously delivered)
Report Date:
August 11, 2026
Product Description:
Browser-based collaborative computing and development application
Contact Information:
[email protected]
Notes:
This report evaluates first-party CoCalc.ai web interfaces using a representative sample of public, authentication, account, project, file, CoCalc-native editor, and settings workflows in Google Chrome on desktop at representative wide and narrow viewport sizes. It excludes user-authored content; arbitrary installed software, packages, and terminal output; separately launched third-party applications such as JupyterLab and Jupyter Classic; and externally embedded content.
Evaluation Methods Used:
Evaluation included source-code review and automated testing in Google Chrome 151.0.7922.108. Lighthouse 13.4.1 was run at a 1440 by 1000 CSS-pixel viewport against 16 public production pages and 15 authenticated pages in a development build. axe-core 4.12.1 was run against six representative interactive states, with programmatic keyboard activation and focus assertions for selected states. Manual production testing covered representative public and authenticated screens in portrait and landscape responsive viewports, at 200% browser zoom, and with keyboard focus navigation. All 16 public production pages and 13 of the 15 authenticated pages received Lighthouse accessibility scores of 100. Five of the six interactive states had no axe violations; the sixth reported the same unnamed switch found by Lighthouse. Automated testing does not establish complete WCAG conformance. No screen-reader or other assistive-technology testing was performed.

“Voluntary Product Accessibility Template” and “VPAT” are registered service marks of the Information Technology Industry Council (ITI)

Applicable Standards/Guidelines

This report covers the degree of conformance for the following accessibility standard/guidelines:

Applicable Standards/Guidelines
Standard/Guideline Included In Report
Web Content Accessibility Guidelines 2.0 Level A (Yes)
Level AA (Yes)
Level AAA (No)
Web Content Accessibility Guidelines 2.1 Level A (Yes)
Level AA (Yes)
Level AAA (No)
Web Content Accessibility Guidelines 2.2 Level A (Yes)
Level AA (Yes)
Level AAA (No)

Terms

The terms used in the Conformance Level information are defined as follows:

WCAG 2.x Report

Note: When reporting on conformance with the WCAG 2.x Success Criteria, they are scoped for full pages, complete processes, and accessibility-supported ways of using technology as documented in the WCAG 2.0 Conformance Requirements.

Table 1: Success Criteria, Level A

Notes:

Table 1: Success Criteria, Level A
Criteria Conformance Level Remarks and Explanations
1.1.1 Non-text Content (Level A) Partially supports Automated testing found an account avatar image without alternative text. Other image alternative-text checks passed in the sampled pages, but the sample does not cover every non-text element.
1.2.1 Audio-only and Video-only (Prerecorded) (Level A) Partially supports First-party feature pages include silent prerecorded demonstration videos. They are supplemental previews rather than instructions required to use CoCalc, and they have accessible names and nearby feature descriptions, but they do not have equivalent time-based media alternatives.
1.2.2 Captions (Prerecorded) (Level A) Not applicable CoCalc platform itself does not include audio or video materials necessary for interaction.
1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) Not applicable CoCalc platform itself does not include audio or video materials necessary for interaction.
1.3.1 Info and Relationships (Level A) Partially supports Most sampled screens use semantic headings, tables, and controls, and automated checks did not identify relationship failures in most tested states. However, source review found authentication and account-setting fields whose visible labels are rendered separately from their controls without a programmatic label association. Automated testing also found a visible Help label that was not programmatically associated with its switch.
1.3.2 Meaningful Sequence (Level A) Supports On the manually reviewed Profile and Files pages, visual presentation and keyboard order followed a logical sequence. Source review found no layout reordering that changed the meaning of those sampled screens.
1.3.3 Sensory Characteristics (Level A) Partially supports Most reviewed instructions name the relevant control or action. Source review found exceptions that rely on visual position, including “Copy the command manually from the box below,” “Fix the error above,” and “Reply to the above message.” These phrases do not independently identify their target without its surrounding visual layout.
1.4.1 Use of Color (Level A) Partially supports Ant Design's base link styling removes text decoration in normal, hover, and focus states. Inline links such as the Terms of Service and Privacy Policy links in authentication notices are therefore distinguished from surrounding prose primarily by color. Navigation cards and many controls also provide layout, borders, icons, or text labels as non-color cues.
1.4.2 Audio Control (Level A) Not applicable CoCalc platform itself does not include audio or video materials necessary for interaction.
2.1.1 Keyboard (Level A) Partially supports Manual production testing confirmed that the Profile settings page, including its language selector, sign-out button, and page controls, can be navigated using Tab in the expected order. Selected dialogs and controls also passed programmatic keyboard activation and focus checks. Source review found mouse-only controls elsewhere, so not all functionality is keyboard operable.
2.1.2 No Keyboard Trap (Level A) Partially supports Terminal and chat editors capture Tab for editing. Manual production testing found that Escape followed by Tab or Shift+Tab did not move focus out of the chat editor. Other sampled dialogs allowed keyboard exit and restored focus.
2.1.4 Character Key Shortcuts (Level A 2.1 and 2.2) Supports Manual production testing found that ordinary character keys did not activate commands on the Files or Profile pages when focus was outside an input or editor. Integrated Jupyter notebook single-character shortcuts follow command mode and are active only while focus is within the notebook editor.
2.2.1 Timing Adjustable (Level A) Partially supports Some notifications close automatically after fixed durations. Pointer users can pause them by hovering, but the duration is not user-adjustable and equivalent keyboard pause behavior was not established.
2.2.2 Pause, Stop, Hide (Level A) Partially supports Unread notification and chat indicators use animations that start automatically and repeat on ten-second cycles while presented alongside other content. Source review found no control to pause those animations and no prefers-reduced-motion override. Progress and execution indicators stop when the associated activity ends, and prerecorded videos provide playback controls.
2.3.1 Three Flashes or Below Threshold (Level A) Supports Source review found that production cursor and execution animations cycle no faster than once per second, while notification motion cycles more slowly. Rapidly stacked error messages are separate content updates rather than flashes. No content known to flash more than three times per second was identified; prerecorded feature clips were not subjected to frame-by-frame flash analysis.
2.4.1 Bypass Blocks (Level A) Does not support Source review did not identify a general skip link or equivalent bypass mechanism in the first-party application shell.
2.4.2 Page Titled (Level A) Supports All 31 sampled page states passed Lighthouse’s document-title check. Title accuracy across every single-page application transition was not manually reviewed.
2.4.3 Focus Order (Level A) Supports Manual production testing found logical sequential focus on the Profile settings and project Files pages. Focus moved through sampled Files-page controls in visual and operational order—left to right, then top to bottom—and sampled dialogs restored focus when closed. No focus-order defects were identified in the tested scope.
2.4.4 Link Purpose (In Context) (Level A) Supports Manual review and long-term production use did not identify links whose purpose was indeterminate from their text or context. Short text such as “click here” appears within surrounding text that describes the destination or action, rather than standing alone. Icon-only links use explanatory tooltips in sampled interfaces.
2.5.1 Pointer Gestures (Level A 2.1 and 2.2) Supports Whiteboard and PDF views support pinch-to-zoom. Equivalent single-pointer controls are available: the whiteboard Navigation panel provides zoom buttons and a slider, and the PDF viewer provides zoom buttons, percentage selection, and fit controls. Freehand drawing paths are essential to the drawing function.
2.5.2 Pointer Cancellation (Level A 2.1 and 2.2) Supports Reviewed standard controls activate on the click up-event. Pointer-down handlers found in source initiate dragging or resizing, preserve editor focus or selection, or perform reversible navigation or selection. No destructive or otherwise irreversible action executed solely on the pointer down-event was identified.
2.5.3 Label in Name (Level A 2.1 and 2.2) Partially supports Automated checks passed for most sampled controls. Source review found visible labels such as “Email address” and “New email address” rendered separately from their inputs without a programmatic association. In these cases, the accessible name is absent or derived from placeholder text and does not contain the visible label.
2.5.4 Motion Actuation (Level A 2.1 and 2.2) Not applicable Source review found no use of the DeviceMotion or DeviceOrientation APIs in first-party interfaces.
3.1.1 Language of Page (Level A) Partially supports All 31 sampled English page states passed automated document-language checks. The application shell declares English, but changing the interface locale does not update the document language.
3.2.1 On Focus (Level A) Supports Manual production testing on the Profile settings and project Files pages found that moving keyboard focus through sampled controls did not open files or dialogs, submit actions, or navigate to another page. No change of context on focus was identified in the tested scope.
3.2.2 On Input (Level A) Supports Manual production review and long-term use have not identified unexpected changes of context when settings or other sampled inputs are changed. Controls may apply their intended setting immediately, but sampled inputs did not unexpectedly navigate, open another page or dialog, submit an unrelated action, or move focus.
3.2.6 Consistent Help (Level A 2.2 only) Supports Manual production review and long-term use found that the repeated Support and Docs icons remain in the top-right area in a consistent relative location and order across related pages. Individual controls may provide additional nearby information without changing those global help mechanisms.
3.3.1 Error Identification (Level A) Partially supports Manual production testing of email sign-in found that “Continue with email” remained disabled for blank and clearly malformed input without displaying a text error that identified or described the input problem. The input not@an enabled continuation but produced only “Error: Unable to start email sign-in,” which did not identify whether the address or another condition caused the failure. Other form error paths were not exhaustively reviewed.
3.3.2 Labels or Instructions (Level A) Partially supports Automated testing found a visible “Help” label that was not programmatically associated with its switch and an avatar upload control without an accessible name.
3.3.7 Redundant Entry (Level A 2.2 only) Supports Manual review and long-term production use did not identify a first-party multi-step process that requires users to re-enter information already supplied in that process. Password re-entry and typed confirmation for destructive actions are used only for security or confirmation, rather than to collect duplicate information.
4.1.1 Parsing (Level A)
WCAG 2.0 and 2.1 – Always answer ‘Supports’
WCAG 2.2 (obsolete and removed) - Does not apply
Supports For WCAG 2.0 and 2.1, the September 2023 errata update indicates this criterion is always supported. See the WCAG 2.0 Editorial Errata and the WCAG 2.1 Editorial Errata.
4.1.2 Name, Role, Value (Level A) Partially supports Automated testing found an avatar upload control and a project-settings switch without accessible names. Source review also found that icon-only Settings navigation removes item text and marks the remaining icons aria-hidden, leaving compact menu destinations without accessible names. Other sampled automated name, role, and value checks passed.

Table 2: Success Criteria, Level AA

Notes:

Table 2: Success Criteria, Level AA
Criteria Conformance Level Remarks and Explanations
1.2.4 Captions (Live) (Level AA) Not applicable CoCalc platform itself does not include audio or video materials necessary for interaction.
1.2.5 Audio Description (Prerecorded) (Level AA) Not applicable CoCalc platform itself does not include audio or video materials necessary for interaction.
1.3.4 Orientation (Level AA 2.1 and 2.2) Partially supports CoCalc does not lock the display orientation or request that users reorient their device. Public pages and some authenticated screens remain usable in both orientations. At a 390 CSS-pixel portrait viewport, however, file names were not visible in the project file explorer and chat content could be compressed to an unusable width.
1.3.5 Identify Input Purpose (Level AA 2.1 and 2.2) Partially supports Public authentication fields use input-purpose tokens such as name, email, username, current-password, new-password, and one-time-code. Source review found that the Profile display-name field disables autocomplete and that account email and password edit fields omit applicable input-purpose tokens.
1.4.3 Contrast (Minimum) (Level AA) Partially supports Automated testing of the 31 sampled page states did not identify text-contrast failures. Source review nevertheless found lower-contrast secondary text in authenticated states. For example, project-not-running quota and process-status displays can render #c0c0c0 text on a white background, a contrast ratio of approximately 1.82:1. Automated sampling did not exercise every dynamic state.
1.4.4 Resize text (Level AA) Supports Representative public and authenticated production screens remained usable at 200% browser zoom. No loss of text content or functionality was observed in the tested screens.
1.4.5 Images of Text (Level AA) Supports Interface labels and instructions are rendered as text. First-party feature pages also use screenshots containing interface text to illustrate the visual product experience; these contain substantial visual content and are accompanied by HTML headings and descriptions. Logos retain their essential visual form.
1.4.10 Reflow (Level AA 2.1 and 2.2) Partially supports Representative public pages and some authenticated screens reflow at narrow widths. At a 390 CSS-pixel portrait viewport, settings required horizontal scrolling, file names disappeared from the project file explorer, and chat navigation could compress conversation content to an unusable width.
1.4.11 Non-text Contrast (Level AA 2.1 and 2.2) Partially supports Source review found controls and states that use lower-contrast graphics. For example, the unstarred project control can render a #c0c0c0 star on a white background, a contrast ratio of approximately 1.82:1 rather than the required 3:1. Automated text-contrast results do not establish non-text contrast conformance.
1.4.12 Text Spacing (Level AA 2.1 and 2.2) Partially supports Source review found project-tab and file-list labels constrained to a single line with wrapping disabled and overflow hidden. Increasing letter or word spacing can further truncate these labels. Complete workflows were not manually tested with the WCAG text-spacing overrides.
1.4.13 Content on Hover or Focus (Level AA 2.1 and 2.2) Partially supports The shared first-party tooltip components use custom Ant Design overlays without adding Escape-key dismissal. Where a tooltip obscures other content, users generally must move pointer hover or keyboard focus to dismiss it. An account preference can disable many button tooltips globally but is not a per-occurrence dismissal mechanism.
2.4.5 Multiple Ways (Level AA) Supports The Settings overview intentionally presents the same destinations as the persistent Settings navigation, with descriptions added to the overview tiles. Sampled destinations, including Profile and Appearance, can be located through either mechanism.
2.4.6 Headings and Labels (Level AA) Partially supports Sampled page headings and navigation labels described their purpose when text labels were shown. In icon-only Settings navigation, text labels are hidden: Billing and Purchases share one card icon, while Payments and Payment Methods share another. Those destinations cannot be distinguished from their displayed icons alone.
2.4.7 Focus Visible (Level AA) Partially supports Manual keyboard review found visible focus indicators on many sampled controls, although some were subtle. The project-page star control received keyboard focus without a visible indicator.
2.4.11 Focus Not Obscured (Minimum) (Level AA 2.2 only) Supports Manual keyboard review on the Profile and Files pages and long-term production use did not identify focused controls completely obscured by author-created content. Modals intentionally cover background content while focus remains within the active dialog. Narrow-screen usability limitations are reported under Orientation and Reflow; no separate focus-obscuration defect was identified.
2.5.7 Dragging Movements (Level AA 2.2 only) Partially supports Several first-party interfaces use dragging. Jupyter notebook cells can also be moved with menu commands, but source review found no click or tap alternative for reordering starred projects, Quick Create buttons, or left-rail buttons.
2.5.8 Target Size (Minimum) (Level AA 2.2 only) Supports All 31 sampled wide-viewport page states passed Lighthouse’s automated target-size check. This does not cover every control or viewport.
3.1.2 Language of Parts (Level AA) Partially supports The sampled pages were English, and automated checks do not evaluate language changes within content. Source review found no systematic use of lang attributes on localized interface phrases. A translated interface can combine localized strings with untranslated English while the document continues to declare English, so language changes are not programmatically identified.
3.2.3 Consistent Navigation (Level AA) Supports Manual production review across related Settings and project pages found that global navigation and navigation repeated within each area remain in stable relative locations and order. Context-specific controls may appear or disappear without reordering shared navigation.
3.2.4 Consistent Identification (Level AA) Supports Manual production review and long-term use found that repeated functions such as close, search, and add use consistent icons and labels across related pages. Some Settings destinations with different functions reuse a card icon; that reuse is outside this criterion's same-function consistency requirement. Their text labels distinguish the destinations when labels are shown.
3.3.3 Error Suggestion (Level AA) Partially supports Manual production testing of email sign-in found that blank and clearly malformed input left “Continue with email” disabled without known correction guidance such as entering a complete email address. The input not@an produced only “Error: Unable to start email sign-in,” without a suggested next step. Other form error paths were not exhaustively reviewed.
3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) Supports Long-term production use found safeguards for stored data and financial commitments. File deletions require confirmation, and backups provide a recovery path; deleting backups requires additional deliberate actions. Where a configured purchase modal offers one-click purchase, it states what will happen before activation. Particularly destructive actions require users to type a confirmation word.
3.3.8 Accessible Authentication (Minimum) (Level AA 2.2 only) Supports CoCalc supports passwordless email sign-in and SSO, providing authentication methods that do not require users to memorize a password. Password fields are designed for password-manager compatibility, and no deliberate restrictions on paste or password-manager use are known.
4.1.3 Status Messages (Level AA 2.1 and 2.2) Partially supports Some first-party status messages use aria-live, role="alert", or Ant Design notifications whose default role is alert. Other important changes, including the main connection-status indicator, are not exposed as status or alert regions. No assistive-technology testing was performed.

Legal Disclaimer (Sagemath, Inc.)

This document is provided for information purposes only and the contents hereof are subject to change without notice. Sagemath, Inc. does not warrant that this document is error free, nor does it provide any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. Sagemath, Inc. specifically disclaims any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. Sagemath, Inc. further makes no representation concerning the ability of assistive technologies or other products to interoperate with Sagemath, Inc. products. This document addresses the named product(s) or platforms only.