Accessibility statement
v2.0 · effective 2026-07-26
Scope. This statement applies to the Mill web application at mill.colport.io and to the SCORM/xAPI course packages Mill generates. It does not cover the learning-management systems our customers use to deliver those packages.
ColPort Mill BV is committed to making the Mill course-authoring service, and the SCORM/xAPI courses it produces, accessible to learners and authors with disabilities. We measure ourselves against WCAG 2.1 Level AA, the standard referenced by the European Accessibility Act (EAA) and Directive (EU) 2016/2102.
Conformance status
Mill is partially conformant with WCAG 2.1 Level AA. “Partially conformant” means that some parts of the service do not yet fully conform to the standard, or have not yet been verified to the evidentiary standard we want to hold ourselves to. The shortfalls are listed under Non-accessible content below.
We report the two surfaces separately, because their evidence bases differ materially:
| Surface | Status | Basis |
|---|---|---|
| Published courses (scroll format) | Partially conformant | Automated structural checks on every build, plus design-level contrast and RTL enforcement. Contrast, target size and reflow are not machine-verified (see below). |
| Published courses (slide, video, microlearning) | Partially conformant | Accessibility features are implemented (landmarks, ARIA, focus styles, captions, reduced-motion) but these formats are not yet covered by the automated structural gate. |
| Authoring application (wizard, editor, dashboard) | Not yet assessed | No independent audit has been carried out. One known keyboard barrier is listed below. |
What is automatically enforced
The following checks run on every production build and fail the build when they regress:
- Structural accessibility of generated courses — axe-core runs against the rendered scroll-format course output using the WCAG 2.0 and 2.1 A and AA rule sets, failing on critical and serious violations. If the checker itself cannot run, the build fails rather than passing silently (an operator can override this deliberately, and that override is recorded in the build log). The automated run exercises a representative subset of section types, in English.
- Contrast of the design system — body and heading colours are checked against their backgrounds at 4.5:1, and accent colours at 3:1, for every built-in visual style.
- Video player contrast — title and body styles are resolved against the real canvas background for every preset, in both light and dark modes.
- Language switching — the published player is booted in a test environment to confirm the language switcher actually swaps the rendered text, and the runtime’s right-to-left language list is checked for consistency across formats. Neither check renders an RTL locale end to end.
Beyond the gates, the generated players ship landmarks, ARIA roles and labels, live regions for asynchronous updates, visible focus styles, a prefers-reduced-motion path, and real caption tracks (WebVTT) on narrated video.
Non-accessible content
The following are known shortfalls. We list them because a statement that only lists strengths is not a statement.
Known barriers
- Freeform video editor canvas (authoring app) — the drag/resize handles on the editing canvas are not reachable or operable by keyboard. Authors who cannot use a pointer cannot position elements on this canvas. Fails 2.1.1 (Keyboard). Other authoring surfaces do not depend on this canvas.
- Check-in dialog in freeform video courses — the in-course question overlay is marked as a dialog but does not move focus into itself, cannot be dismissed with Escape, has no accessible name, and its feedback text is not announced. Affects 2.4.3 (Focus Order), 4.1.2 (Name, Role, Value) and 4.1.3 (Status Messages). Its button labels are currently English regardless of course language (3.1.2).
- Some player chrome is English-only. The skip-to-content link and a few control labels in the scroll player do not yet translate with the course language (3.1.2 Language of Parts).
- Images added manually to slide courses — AI-authored slides receive descriptive alternative text; images inserted by hand in the editor may retain a generic placeholder. Fails 1.1.1 (Non-text Content) for those images. Authors can edit alt text in the slide editor.
- Right-to-left rendering is implemented for Arabic, Persian, Hebrew, Urdu, Pashto, Kurdish, Sindhi and Divehi. Bidirectional edge cases — and the mirroring of directional graphics such as scenario arrows — have not been systematically tested.
Not yet verified
- Our automated checks run in a headless DOM with no layout engine, so they cannot evaluate contrast in the rendered page, target size or reflow. Contrast is instead enforced at the design-token level, which covers the built-in styles but not every possible custom brand colour an author may set.
- The criteria that depend on rendered layout — 1.4.10 Reflow, 1.4.11 Non-text Contrast and 2.5.5 Target Size in particular — cannot be evaluated by a headless check and are addressed in design and code review rather than by the gate.
- The automated course check currently exercises a representative subset of section types in the scroll format. Other formats and the remaining section types are covered by design review, not by the gate.
- Manual screen-reader and keyboard testing (NVDA, VoiceOver) is planned but has not yet been carried out to a documented standard. Until it has, we do not claim verified screen-reader conformance.
- No independent third-party audit has been performed. Everything above is self-assessment.
- Courses published earlier keep the player they were built with. Accessibility improvements reach an existing course when it is re-published.
Outside our control
- Mill generates draft content with AI. The quality of AI-written alternative text, transcripts and plain-language phrasing is reviewed by the human author before publication — the author is the control, and remains responsible for the published course.
- Courses are usually delivered inside a customer’s own LMS. The surrounding LMS chrome is that vendor’s responsibility.
Disproportionate burden
We do not currently claim a disproportionate-burden exemption for any part of the service. The items above are unfinished work, not items we consider unreasonable to fix.
What we are doing about it
- Independent WCAG 2.1 AA audit of the authoring application.
- Extending the automated gate to the slide, video and microlearning formats, and to WCAG 2.1 rule tags.
- Executing and publishing the manual screen-reader and keyboard test results.
- Keyboard operation for the freeform video editor canvas, and focus management for the in-course check-in dialog.
- Hebrew and Urdu right-to-left support.
How this statement was prepared
This statement was prepared on 2026-07-26 by ColPort Mill BV, on the basis of a self-assessment: a review of the accessibility checks that run in our build pipeline, a source-level review of the generated players and the authoring application, and a review of our internal accessibility documentation. It was not prepared by a third party. Last reviewed: 2026-07-26. We review it at least every six months, and additionally whenever a new course format ships, an accessibility gate changes, or a barrier is reported to us.
Feedback and contact
If you encounter an accessibility barrier in Mill, or need content in an alternative format, contact accessibility@colport.eu. We aim to acknowledge within 5 business days and to agree a remediation timeline for confirmed barriers.
Enforcement procedure
If you are not satisfied with our response, you may refer the matter to the accessibility enforcement body designated by your EU member state. Each member state designates its own authority under the European Accessibility Act; if you tell us which country you are in we will name the relevant body and provide its contact details, and you may also approach it directly without contacting us first.
Questions about a specific WCAG criterion, or a procurement questionnaire to complete? Write to accessibility@colport.eu and we will answer against the criterion.