Calricula Accessibility Conformance Report
Revised Section 508 Edition
Based on VPAT Version 2.5 Rev
Download Word DocumentProduct Information
- Name of Product/Version
- Calricula v1.0
- Report Date
- December 20, 2025
- Product Description
- Calricula is an AI-assisted Curriculum Management System for educational institutions. It is a web-based application that allows faculty to create, modify, and approve Course Outlines of Record (CORs) and Programs. Features include AI-assisted authoring, compliance checking against state regulations (PCAH/Title 5), and an approval workflow dashboard.
- Contact Information
- accessibility@calricula.com
- Notes
- This report covers the web-based faculty interface accessed via modern web browsers (Chrome, Firefox, Safari, Edge).
- Evaluation Methods
- Automated testing via axe-core, manual code review of React components, keyboard-only navigation testing, and visual inspection of color contrast ratios.
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) |
| Revised Section 508 (January 18, 2017) | Yes |
Terms
- 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.
- Not Applicable
- The criterion is not relevant to the product.
- Not Evaluated
- The product has not been evaluated against the criterion (WCAG 2.x Level AAA only).
WCAG 2.x Report
Tables 1 and 2 also document conformance with Revised Section 508: Chapter 5 - 501.1 Scope, 504.2 Content Creation or Editing; Chapter 6 - 602.3 Electronic Support Documentation.
Table 1: Success Criteria, Level A
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.1.1 Non-text Content | Supports | All images have appropriate alt text. Decorative icons use aria-hidden="true". Interactive icons have accessible labels. |
| 1.2.1 Audio-only and Video-only (Prerecorded) | Not Applicable | The application does not contain audio-only or video-only content. |
| 1.2.2 Captions (Prerecorded) | Not Applicable | The application does not contain prerecorded synchronized media. |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) | Not Applicable | The application does not contain prerecorded synchronized media. |
| 1.3.1 Info and Relationships | Supports | The application uses semantic HTML5 for all content. The login page uses <main> for primary content, the sidebar uses <aside> with aria-label for navigation regions. |
| 1.3.2 Meaningful Sequence | Supports | Content is presented in a logical reading order that matches the DOM structure. |
| 1.3.3 Sensory Characteristics | Supports | Instructions do not rely solely on sensory characteristics such as shape, size, or location. |
| 1.4.1 Use of Color | Supports | Color is not used as the only visual means of conveying information. Status badges use both color and text labels. |
| 1.4.2 Audio Control | Not Applicable | The application does not contain audio that plays automatically. |
| 2.1.1 Keyboard | Supports | All interactive elements are accessible via keyboard tab sequence. Custom widgets use Headless UI for proper keyboard handling. |
| 2.1.2 No Keyboard Trap | Supports | Focus is not trapped in any component. Modal dialogs properly manage focus and allow exit via Escape key. |
| 2.1.4 Character Key Shortcuts | Not Applicable | The application does not implement character key shortcuts. |
| 2.2.1 Timing Adjustable | Supports | The application does not impose time limits on user interactions. |
| 2.2.2 Pause, Stop, Hide | Not Applicable | The application does not contain moving, blinking, scrolling, or auto-updating content. |
| 2.3.1 Three Flashes or Below Threshold | Supports | The application does not contain content that flashes more than three times per second. |
| 2.4.1 Bypass Blocks | Supports | A "Skip to main content" link is present in the PageShell component, targeting #main-content on the main element. |
| 2.4.2 Page Titled | Supports | Each page has a descriptive title set via Next.js metadata. |
| 2.4.3 Focus Order | Supports | Focus order follows a logical sequence that preserves meaning and operability. |
| 2.4.4 Link Purpose (In Context) | Supports | Link text is descriptive or can be determined from context. Course links include course codes and titles. |
| 2.5.1 Pointer Gestures | Supports | All functionality that uses multipoint or path-based gestures can be operated with a single pointer. |
| 2.5.2 Pointer Cancellation | Supports | Click/tap events use the up-event pattern by default in React. |
| 2.5.3 Label in Name | Supports | Visible labels match accessible names for form controls and buttons. |
| 2.5.4 Motion Actuation | Not Applicable | The application does not use device motion for functionality. |
| 3.1.1 Language of Page | Supports | The HTML lang attribute is set to "en" in the Next.js layout. |
| 3.2.1 On Focus | Supports | Receiving focus does not trigger unexpected changes of context. |
| 3.2.2 On Input | Supports | Changing form control values does not trigger unexpected changes of context. |
| 3.3.1 Error Identification | Supports | Form validation errors are displayed with clear error messages and visual indicators. |
| 3.3.2 Labels or Instructions | Supports | Form fields have visible labels and placeholder text providing guidance. |
| 4.1.1 Parsing | Supports | HTML is validated and contains no duplicate IDs or improper nesting. |
| 4.1.2 Name, Role, Value | Supports | Custom widgets are implemented using Headless UI which manages ARIA states and focus programmatically. |
Table 2: Success Criteria, Level AA
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.2.4 Captions (Live) | Not Applicable | The application does not contain live synchronized media. |
| 1.2.5 Audio Description (Prerecorded) | Not Applicable | The application does not contain prerecorded synchronized media. |
| 1.3.4 Orientation | Supports | Content displays correctly in both portrait and landscape orientations. |
| 1.3.5 Identify Input Purpose | Supports | Form inputs use appropriate autocomplete attributes where applicable. |
| 1.4.3 Contrast (Minimum) | Supports | All text meets the 4.5:1 contrast ratio requirement. Primary content uses text-slate-900/dark:text-white. Secondary text uses text-slate-600/dark:text-slate-400. |
| 1.4.4 Resize Text | Supports | Text can be resized up to 200% without loss of content or functionality. Uses relative units (rem). |
| 1.4.5 Images of Text | Supports | The application does not use images of text. All text is rendered as HTML. |
| 1.4.10 Reflow | Supports | The application is built with responsive CSS that adapts to 320px width without horizontal scrolling. |
| 1.4.11 Non-text Contrast | Supports | UI components maintain at least 3:1 contrast against adjacent colors. |
| 1.4.12 Text Spacing | Supports | Content can be displayed with increased text spacing without loss of functionality. |
| 1.4.13 Content on Hover or Focus | Supports | Tooltip content can be dismissed via Escape key and remains visible while hovered. |
| 2.4.5 Multiple Ways | Supports | Users can navigate via sidebar menu, direct URL access, and search functionality. |
| 2.4.6 Headings and Labels | Supports | Headings describe topic or purpose. Form labels describe input purposes. |
| 2.4.7 Focus Visible | Supports | Interactive elements use visible focus indicators via focus-visible:ring-2. |
| 3.1.2 Language of Parts | Supports | Content is in English throughout; no mixed-language content. |
| 3.2.3 Consistent Navigation | Supports | Navigation patterns are consistent across pages. |
| 3.2.4 Consistent Identification | Supports | Components with the same functionality have consistent labels. |
| 3.3.3 Error Suggestion | Supports | Form validation provides specific suggestions for correcting errors. |
| 3.3.4 Error Prevention (Legal, Financial, Data) | Supports | Course submissions include confirmation dialogs. Data deletion requires confirmation. |
| 4.1.3 Status Messages | Supports | Status messages use appropriate ARIA live regions. |
Table 3: Success Criteria, Level AAA
WCAG 2.x Level AAA criteria are not evaluated as part of this report. Level AAA conformance is not required for Section 508 compliance.
Revised Section 508 Report
Chapter 3: Functional Performance Criteria
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 302.1 Without Vision | Supports | All content and functionality is accessible to screen reader users. Semantic HTML, ARIA labels, and proper focus management ensure operability without vision. |
| 302.2 With Limited Vision | Supports | Text meets contrast requirements and can be resized up to 200%. The application supports browser zoom and OS-level magnification. |
| 302.3 Without Perception of Color | Supports | Color is not the sole means of conveying information. Status indicators use both color and text labels. |
| 302.4 Without Hearing | Supports | The application does not rely on audio for conveying information. |
| 302.5 With Limited Hearing | Not Applicable | The application does not contain audio content. |
| 302.6 Without Speech | Supports | The application does not require speech input for operation. |
| 302.7 With Limited Manipulation | Supports | All functionality is operable via keyboard. No fine motor control is required. |
| 302.8 With Limited Reach and Strength | Supports | The application requires only standard keyboard and mouse input. |
| 302.9 With Limited Language, Cognitive, and Learning Abilities | Supports | The interface uses clear, consistent navigation and provides helpful error messages. |
Chapter 4: Hardware
Calricula is a web application and hardware criteria are not applicable.
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 402 Closed Functionality | Not Applicable | Calricula is a web application, not closed-functionality hardware. |
| 403 Biometrics | Not Applicable | The application does not use biometric identification. |
| 404 Preservation of Information | Not Applicable | Not applicable to web applications. |
| 405 Privacy | Not Applicable | Not applicable to web applications. |
| 406 Standard Connections | Not Applicable | Not applicable to web applications. |
| 407 Operable Parts | Not Applicable | Not applicable to web applications. |
| 408 Display Screens | Not Applicable | Not applicable to web applications. |
| 409 Status Indicators | Not Applicable | Not applicable to web applications. |
| 410 Color Coding | Not Applicable | Not applicable to web applications. |
| 411 Audible Signals | Not Applicable | Not applicable to web applications. |
| 412 ICT with Two-Way Voice Communication | Not Applicable | The application does not include voice communication. |
| 413 ICT with Video Capabilities | Not Applicable | The application does not include video playback. |
| 414 Audio Description Processing | Not Applicable | The application does not process audio description content. |
Chapter 5: Software
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 501.1 Scope – Incorporation of WCAG 2.0 AA | See WCAG 2.x section | Web content conformance is addressed in the WCAG tables above. |
| 502 Interoperability with Assistive Technology | Supports | The application uses standard web technologies that work with assistive technologies. Headless UI components ensure proper AT interoperability. |
| 503 Applications | Supports | The web application provides equivalent functionality to all users. |
| 504 Authoring Tools | Partially Supports | The course editor allows creation of accessible content. However, it does not enforce accessibility of user-generated content. |
Chapter 6: Support Documentation and Services
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 602.2 Accessibility and Compatibility Features | Supports | Documentation describing accessibility features is provided in the Help section and this ACR. |
| 602.3 Electronic Support Documentation | Supports | Help documentation is provided as accessible HTML within the application. |
| 602.4 Alternate Formats for Non-Electronic Docs | Not Applicable | All documentation is provided electronically in accessible formats. |
| 603.2 Information on Accessibility Features | Supports | Support services can provide information about accessibility features. Contact accessibility@calricula.com. |
| 603.3 Accommodation of Communication Needs | Supports | Support is available via email, accommodating users who cannot use voice communication. |
Legal Disclaimer
This document is provided for informational purposes regarding the accessibility of Calricula. This is not a certification of accessibility, but rather a self-assessment based on the evaluation methods described above. Accessibility is an ongoing effort, and this report represents the status as of the report date. For questions or to report accessibility issues, please contact accessibility@calricula.com.