Accessibility

The panel-screenshots check runs axe-core on each page that the capture visits, in the light and the dark theme. These are the pages, by the name that KNOWN_VIOLATIONS and accessibility.json use:

  • login
  • index
  • instance-list
  • deployment-list
  • deployment-form
  • application-form
  • application-operations
  • application-operation-log
  • migration-export
  • account
  • account-history
  • domain-list
  • accessibility
  • migration-import

axe-core checks the rules of WCAG 2.1 level A and AA. A serious or critical violation makes the check fail, unless KNOWN_VIOLATIONS in panel/nix/take-screenshots.py lists it with the reason. An entry there that no longer occurs also makes the check fail. The check writes all the violations that it finds to accessibility.json in the output of the test.

The panel-lighthouse check runs Lighthouse on each page in PAGES in panel/nix/lighthouse.mjs:

  • login
  • index
  • instance-list
  • deployment-list
  • deployment-form
  • application-form
  • account
  • account-history
  • domain-list
  • accessibility

It audits each page in the light and the dark color scheme, on the mobile and the desktop form factor, for the categories accessibility, best-practices and seo. An audit that does not pass makes the check fail. SKIPPED_AUDITS in panel/nix/lighthouse.mjs lists the audits that cannot pass on the node of the test, each with the reason. The check writes one HTML report for each run, and summary.md, to the lighthouse directory in the output of the test.

These checks are automated only. An automated tool finds only a part of the problems. The panel has no manual audit.

The panel publishes an accessibility statement at /accessibility/, with a link in the footer of each page. The statement follows the model of Implementing Decision (EU) 2018/1523 and says "partially conformant". The check fails if the statement does not name a rule from KNOWN_VIOLATIONS. The hosting provider gives the contact and the enforcement body, see "Publish the accessibility statement" in the hosting provider guide.

The statement covers the panel only. Each application has its own web interface, which this project does not test. On 2026-11-07, a web search found no conformance statement and no public audit for these applications:

Application Accessibility statement Accessibility audit
Mastodon none found none found
Pixelfed none found none found
PeerTube none found none found