During September 2023, Code.org took part in a Voluntary Product Accessibility Template (VPAT) assessment in our effort to increase our site’s accessibility. Code.org contracted the VPAT to be done through a third party (deque) who evaluated our site against the WCAG Level A and Level AA guidelines.
The learnings from this assessment will continue to aid us in our work towards making a more accessible and inclusive platform. Specifically, in the immediate term we will be investing in improving use cases for keyboard users, prioritize fixing the WCAG errors found below, and investigate better screen reader support. We still have a long way to go, but look forward to investing in the opportunities highlighted in this assessment.
Top Strengths:
- Providing basic keyboard navigation support through ensuring that keyboard users know where their focus is at all time, and that all of our “input” fields provide clear labels for screen reader users and clear error messages on those input fields.
- There are multiple ways available to find different web pages across the site, and our navigation system is consistent across different web pages.
- Our platform supports different orientations (landscape and portrait) for all of our sites.
Top Opportunities:
- We do not provide text alternatives for all non-text outputs. This is an issue across multiple courses, where we do not always provide text based (or audio based) outputs for a lot of our visualizations.
- We do not provide audio descriptions in our videos. This is different from captions and provides descriptions of the visuals on screen for students when information is being displayed visually.
- Our user interface components are not labeled with descriptive labels for screen readers who understand the purpose and function of each component of the screen.
Full VPAT Outcomes:
The VPAT gives one of the following conformance levels to each of the guidelines:
- Supports: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
- Partially Supports: Some functionality of the product does not meet the criterion.
- Does Not Support: The majority of product functionality does not meet the criterion.
Below is a summary of our ratings for each of WCAG criteria.
Criteria | Conformance Level |
1.1.1 Non-text Content (Level A) | Does Not Support |
1.2.2 Captions (Prerecorded) (Level A) | Supports |
1.2.3 Audio Description or Media Alternative (Prerecorded) |
Does Not Support |
1.3.1 Info and Relationships (Level A) | Partially Supports |
1.3.2 Meaningful Sequence (Level A) | Partially Supports |
1.3.3 Sensory Characteristics (Level A) | Partially Supports |
1.4.1 Use of Color (Level A) | Partially Supports |
2.1.1 Keyboard (Level A) | Does Not Support |
2.1.2 No Keyboard Trap (Level A) | Partially Supports |
2.1.4 Character Key Shortcuts (Level A 2.1 only) | Supports |
2.2.1 Timing Adjustable (Level A) | Partially Supports |
2.2.2 Pause, Stop, Hide (Level A) | Partially Supports |
2.4.1 Bypass Blocks (Level A) | Partially Supports |
2.4.2 Page Titled (Level A) | Partially Supports |
2.4.3 Focus Order (Level A) | Partially Supports |
2.4.4 Link Purpose (In Context) (Level A) | Partially Supports |
2.5.1 Pointer Gestures (Level A 2.1 only) | Supports |
2.5.2 Pointer Cancellation (Level A 2.1 only) | Supports |
2.5.3 Label in Name (Level A 2.1 only) | Partially Supports |
3.1.1 Language of Page (Level A) | Partially Supports |
3.2.1 On Focus (Level A) | Supports |
3.2.2 On Input (Level A) | Supports |
3.3.1 Error Identification (Level A) | Partially Supports |
3.3.2 Labels or Instructions (Level A) | Partially Supports |
4.1.1 Parsing (Level A) | Partially Supports |
4.1.2 Name, Role, Value (Level A) | Does Not Support |
1.2.5 Audio Description (Prerecorded) (Level AA) | Partially Supports |
1.3.4 Orientation (Level AA 2.1 only) | Supports |
1.3.5 Identify Input Purpose (Level AA 2.1 only) | Partially Supports |
1.4.3 Contrast (Minimum) (Level AA) | Partially Supports |
1.4.4 Resize text (Level AA) | Partially Supports |
1.4.5 Images of Text (Level AA) | Supports |
1.4.10 Reflow (Level AA 2.1 only) | Partially Supports |
1.4.11 Non-text Contrast (Level AA 2.1 only) | Partially Supports |
1.4.12 Text Spacing (Level AA 2.1 only) | Partially Supports |
1.4.13 Content on Hover or Focus (Level AA 2.1 only) | Partially Supports |
2.4.5 Multiple Ways (Level AA) | Supports |
2.4.6 Headings and Labels (Level AA) | Partially Supports |
2.4.7 Focus Visible (Level AA) | Partially Supports |
3.1.2 Language of Parts (Level AA) | Partially Supports |
3.2.3 Consistent Navigation (Level AA) | Supports |
3.2.4 Consistent Identification (Level AA) | Supports |
3.3.3 Error Suggestion (Level AA) | Supports |
3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) | Supports |
4.1.3 Status Messages (Level AA 2.1 only) | Partially Supports |
For questions related to Code.org's accessibility efforts, please reach out to accessibility@code.org.