VPAT® 2.4 WCAG Edition — Voluntary Product Accessibility Template

← Security & data protection · swiftscorm.com

Accessibility Conformance Report

Based on VPAT® Version 2.4

Product Information

Product information
Product nameSwiftSCORM
Product version1.0 (web application + SCORM 1.2 and cmi5/xAPI export)
Report dateJune 2026
Report version1.0
Contactsecurity@swiftscorm.com
NotesThis report covers (1) the SwiftSCORM web application at swiftscorm.com and (2) the SCORM 1.2 learner packages exported from it, including the interactive quiz player and the lesson player.

Applicable Standards / Guidelines

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

Applicable accessibility standards and guidelines covered by this report
Standard / GuidelineIncluded In Report
Web Content Accessibility Guidelines 2.1, https://www.w3.org/TR/WCAG21/Level A, Level AA
Revised Section 508 standards (36 CFR Part 1194), https://www.access-board.gov/ict/E101–E103, 302–304, 402–404, 502–504, 601–602

Terms

Supports
Fully meets the criterion.
Partially Supports
Meets in most but not all cases; exception noted.
Does Not Support
Criterion not met.
Not Applicable
Criterion does not apply to this product.

WCAG 2.1 — Level A

WCAG 2.1 Level A success criteria conformance
CriteriaConformance LevelRemarks
1.1.1 Non-text ContentSupportsDecorative icons carry aria-hidden. Tutorial walkthrough SVGs use role="img" with aria-label for their accessible name. Player flowchart SVGs are marked aria-hidden and wrapped in a role="group" figure with an aria-label naming the diagram and its step count, accompanied by a visually-hidden ordered-list text alternative. The PDF-parse progress indicator uses aria-live text, not images.
1.2.1 Audio-only and Video-only (Prerecorded)Not ApplicableNo pre-recorded audio-only or video-only content is produced or displayed by the application.
1.2.2 Captions (Prerecorded)Not ApplicableNo video content.
1.2.3 Audio Description or Media Alternative (Prerecorded)Not ApplicableNo video content.
1.3.1 Info and RelationshipsSupportsSemantic HTML throughout. Quiz questions use role="group" with aria-labelledby on the stem. Labels are programmatically associated with all form controls.
1.3.2 Meaningful SequenceSupportsReading order follows DOM order. No CSS-only reordering that would alter meaning.
1.3.3 Sensory CharacteristicsSupportsNo instructions rely solely on shape, size, colour, or position.
1.4.1 Use of ColorSupportsCorrect-answer indication uses both colour and a visible check mark. Error states use both colour and text.
1.4.2 Audio ControlNot ApplicableNo auto-playing audio.
2.1.1 KeyboardSupportsAll interactive controls (quiz answers, navigation buttons, modal dialogs, dropzone, file input) are keyboard-operable. Modal focus is trapped while open and restored on close. The quiz progress dots are a visual-only mouse shortcut (aria-hidden); every question stays reachable by keyboard via the Back/Next buttons.
2.1.2 No Keyboard TrapSupportsNo keyboard traps. Modal dialogs follow ARIA modal pattern with managed Escape key.
2.1.4 Character Key ShortcutsNot ApplicableNo single-key shortcuts are implemented.
2.2.1 Timing AdjustableNot ApplicableNo time limits.
2.2.2 Pause, Stop, HideSupportsNo moving, blinking, or scrolling content. Spinner during generation has prefers-reduced-motion: uses a static indicator when motion preference is set to reduce.
2.3.1 Three Flashes or Below ThresholdSupportsNo flashing content.
2.4.1 Bypass BlocksSupportsA visually-hidden skip-to-main-content link is the first focusable element on every page and targets that page's main landmark (<main id="maincontent">, or an equivalent role="main" region), so keyboard and screen-reader users can bypass the repeated navigation.
2.4.2 Page TitledSupportsEvery page has a descriptive <title>. SCORM packages include a <title> matching the course name.
2.4.3 Focus OrderSupportsFocus order is logical and matches the visual sequence. Learner section progression moves focus to the next section heading.
2.4.4 Link Purpose (In Context)SupportsAll links have descriptive text or accessible names. Generic 'click here' links do not appear.
2.5.1 Pointer GesturesSupportsNo multi-point or path-based gestures required.
2.5.2 Pointer CancellationSupportsAll actions trigger on mouseup/click, not mousedown. Drag and drop to the upload zone also supports click-to-browse.
2.5.3 Label in NameSupportsVisible button labels match or are contained in the accessible name.
2.5.4 Motion ActuationNot ApplicableNo device-motion activation.
3.1.1 Language of PageSupportsAll pages set html lang="en". SCORM lesson packages set the lang attribute to match the selected generation language (en, es, fr, de, pt).
3.2.1 On FocusSupportsNo context change occurs on focus.
3.2.2 On InputSupportsNo context change occurs automatically on input. Settings take effect only when the generation button is clicked.
3.3.1 Error IdentificationSupportsValidation errors are described in text. File-type errors, API errors, and form validation messages are surfaced as labelled text alerts.
3.3.2 Labels or InstructionsSupportsAll form fields have visible labels. Instructions appear before or adjacent to the relevant control.
4.1.1 ParsingSupportsHTML output from the Next.js build passes W3C validation for structural correctness. No duplicate IDs in generated markup.
4.1.2 Name, Role, ValueSupportsAll UI components have names from visible labels or aria-label. Custom interactive elements use appropriate ARIA roles and states.
4.1.3 Status MessagesSupportsDynamic status messages (generation progress, toast notifications, quiz feedback) use aria-live regions so screen readers announce them without focus change.

WCAG 2.1 — Level AA

WCAG 2.1 Level AA success criteria conformance
CriteriaConformance LevelRemarks
1.2.4 Captions (Live)Not ApplicableNo live audio content.
1.2.5 Audio Description (Prerecorded)Not ApplicableNo video content.
1.3.4 OrientationSupportsLayout adapts to both portrait and landscape. No orientation lock.
1.3.5 Identify Input PurposeSupportsEmail fields use autocomplete="email". No other WCAG 1.3.5 input purposes apply to the current form surface (the invite field is a free-form multi-line list, not a single structured name input).
1.4.3 Contrast (Minimum)SupportsText-to-background contrast meets 4.5:1 for body text and 3:1 for large text. Primary blue (#2563eb on white) is 5.17:1. Muted text (#5e6e82 on white) is 5.21:1; on the page background (#f6f8fb) it is 4.90:1. The faint slate (#94a3b8) is reserved for large/bold eyebrow labels and decorative numerals, not body text. The training player's “Not Passed” result heading (#b91c1c on #fef2f2, 5.91:1) meets the full 4.5:1 body-text minimum.
1.4.4 Resize TextSupportsPage text can be resized to 200% without loss of content or functionality. Layout uses relative units (rem/em).
1.4.5 Images of TextSupportsNo images of text. All text is rendered as HTML/CSS.
1.4.10 ReflowSupportsContent reflows at 320px viewport width without horizontal scrolling (except data tables which have overflow-x scroll with a visible scroll affordance).
1.4.11 Non-text ContrastSupportsInteractive UI components (buttons, inputs, dropzone border) have at least 3:1 contrast ratio against adjacent colours.
1.4.12 Text SpacingSupportsNo CSS hard-codes line-height, letter-spacing, or word-spacing in ways that would break layout when overridden by user stylesheets.
1.4.13 Content on Hover or FocusSupportsTooltip-style content is not used. Hover states do not introduce new meaningful content.
2.4.5 Multiple WaysSupportsUsers can reach any page via navigation links or the site footer. Pages are linked from related content.
2.4.6 Headings and LabelsSupportsHeadings are hierarchical and descriptive. Form labels describe their purpose.
2.4.7 Focus VisibleSupportsA visible focus indicator is present on all keyboard-focusable elements using :focus-visible with a 2px solid accent-colour outline.
3.1.2 Language of PartsPartially SupportsSCORM packages export with the correct html lang for English and Spanish. French, German, and Portuguese packages set html lang correctly on the outer shell; individual section content is AI-generated and may contain incidental English phrases (section check answers) in edge cases. This will be fully resolved in a forthcoming update.
3.2.3 Consistent NavigationSupportsNavigation is presented consistently on every page.
3.2.4 Consistent IdentificationSupportsIdentical components are identified consistently across pages.
3.3.3 Error SuggestionSupportsWhen errors are detected (invalid file type, empty quiz, API error), the message describes what went wrong and what the user can do to correct it.
3.3.4 Error Prevention (Legal, Financial, Data)SupportsPublishing a hosted course shows the email address and course name before submitting. Regeneration of a quiz prompts for confirmation when edits would be lost.

Section 508 — Functional Performance Criteria (Chapter 3)

Section 508 functional performance criteria conformance
Functional Performance CriteriaConformance LevelRemarks
302.1 Without VisionSupportsThe web application and SCORM player are operable with a screen reader. All content is available to users relying on assistive technology without vision.
302.2 With Limited VisionSupportsText resizes to 200% without loss of function. High-contrast CSS variables are respected. Focus indicators are visible.
302.3 Without Perception of ColorSupportsNo information is conveyed by colour alone.
302.4 Without HearingNot ApplicableNo audio content.
302.5 With Limited HearingNot ApplicableNo audio content.
302.6 Without SpeechNot ApplicableNo speech input required.
302.7 With Limited ManipulationSupportsAll controls are keyboard-accessible. No actions require fine motor control beyond standard mouse/keyboard interaction.
302.8 With Limited Reach and StrengthPartially SupportsNo physical hardware requirements. Quiz answer options meet or exceed 44×44 CSS px via padding, and the hosted player's Back/Next buttons clear it (~44.3 px). The quiz progress dots are a supplementary visual-only mouse shortcut with enlarged 20×20 px hit areas at 26 px spacing (WCAG 2.2 target-size minimum); in the exported SCORM package the Back/Next buttons render about 43.6 px tall — marginally under the 44 px floor, which is not enforced on all controls.
302.9 With Limited Language, Cognitive, and Learning AbilitiesPartially SupportsSCORM packages export in 5 languages. The guided tour and inline help lower cognitive load for the authoring tool. Completion certificates and section progress cues support learners. A full plain-language review has not been conducted.

Section 508 — Software (Chapter 5)

Section 508 software criteria (Chapter 5) conformance
CriteriaConformance LevelRemarks
502.2.1 User Control of Accessibility FeaturesSupportsThe application does not override system accessibility features.
502.2.2 No Disruption of Accessibility FeaturesSupportsThe application does not interfere with assistive technology.
502.3 Accessibility ServicesSupportsBuilt with standard HTML, CSS, and WAI-ARIA; compatible with OS-level accessibility APIs through the browser.
503.4 User Controls for Captions and Audio DescriptionNot ApplicableNo audio or video content.
504.2 Authoring Tool AccessibilityPartially SupportsThe SwiftSCORM authoring interface is keyboard and screen-reader accessible. The section flowchart editor uses standard inputs. A full ATAG 2.0 audit is planned.

Chapter 6 — Support Documentation and Services

Section 508 support documentation and services (Chapter 6) conformance
CriteriaConformance LevelRemarks
601.1 ScopeSupportsThis conformance report serves as the accessibility documentation for SwiftSCORM.
602.2 Accessibility and Compatibility FeaturesSupportsAccessibility features are documented in this Accessibility Conformance Report (VPAT). Keyboard navigation, screen reader support, and reduced-motion behavior are described in the sections above.
602.3 Electronic Support DocumentationSupportsThe tutorial, FAQ, and this VPAT are available as accessible HTML pages.
602.4 Alternate FormatsSupportsAccessible HTML format is the primary format. PDF export of this page is available via browser print-to-PDF.
603.2 Assistance to People with DisabilitiesSupportsSupport is available via security@swiftscorm.com. Accessibility issues are treated as high-priority bugs.

Known Limitations

Items in active development:

  • 3.1.2 Language of Parts: Section-check answers in multi-language SCORM packages may occasionally contain English phrases in edge cases. Under review.
  • 302.9 Cognitive Load: A plain-language audit of authoring-tool copy and in-app instructions is planned.

VPAT® is a registered service mark of the Information Technology Industry Council (ITI).

Questions about this report? Contact security@swiftscorm.com. Enterprise and government buyers may request a completed 508 questionnaire.