Accessibility

Accessible by default, not by afterthought.

Election observation has to work for the person using it, not just the person watching a demo. This is a plain account of what we've actually tested, what it found, and, just as importantly, what it doesn't yet cover.

What we've tested

51
Screens scanned across both apps
0
Automated violations found, most recent run
5
Languages scanned, field app
2
Themes scanned, dark and light

An automated accessibility scan (axe-core, driving a real browser, not a static code check) was run against every major screen in both the Custody dashboard and the field app, in every one of the 5 supported languages, in both the platform's dark and light themes. The most recent run found zero violations across all 51 screens scanned.

On top of the automated scan, a manual keyboard-only walkthrough (no mouse) was run across the core dashboard, agent management, report review, and incident-creation flows, checking every stop for reachability and a visible focus indicator. One real, reproducible gap was found this way: several of the field app's primary buttons had no visible focus ring on keyboard focus. It was fixed and confirmed with a real Tab keypress, not just a visual check.

What this doesn't claim

Zero automated violations is a real result, not a rounding error, but it's a statement about one tool's ruleset, not a certification of WCAG 2.1 AA compliance. Automated tools including the one used here are widely estimated to catch only a third to half of real accessibility issues. We'd rather tell you that plainly than let a clean scan imply more than it proves.

What's still outside this pass

This is a living list, not a closed ticket. The next pass should start from item one below, not from zero.

  1. Screen-reader testing with an actual screen reader (VoiceOver, NVDA, JAWS, TalkBack). Everything to date was verified through automated DOM analysis, not by listening to a real screen reader read these screens aloud. This cannot be meaningfully automated, it needs a human tester.

  2. Cognitive and plain-language review of form error messages, empty states, and instructional copy, not yet evaluated for reading level or clarity, which matters for agents working under stress in the field.

  3. A full manual keyboard walkthrough of every remaining screen. The flows explicitly walked through so far are covered, several admin tabs and other screens have only passed automated focus-order checks, not a human tabbing through them.

  4. Whether status and severity indicators, like incident severity or verification-status badges, convey their meaning through more than color alone, for colorblind users. Several already pair color with a text label, but this hasn't been checked systematically.

  5. Text scaling at the mobile viewport width specifically, as opposed to browser zoom, which has already been tested and fixed at 200%.

Report an accessibility issue

If something on this platform doesn't work for you, a screen reader, keyboard navigation, color contrast, or anything else, tell us directly. We treat an accessibility report the same way we treat a security report: seriously, and without asking you to prove it first.

Talk to us
Custody.

Nothing Gets Lost.

The platform Nigerian political parties, campaigns, and election observers use to capture what their own agents see in the field.

Not official election results infrastructure.

Links
Contact

Custody is not affiliated with, endorsed by, or acting on behalf of the Independent National Electoral Commission (INEC) or the Government of the Federal Republic of Nigeria. The Nigerian flag appears as a recurring watermark across the platform, and a separate original mark inspired by the form of Nigeria's coat of arms appears on the Security and integrity page; neither is the official coat of arms, an official seal, or government insignia, and neither implies endorsement.

Talk to us →

© 2026 Frontier Catalyst Advisory. All rights reserved.

Your privacy on this site

This site does not use advertising or tracking cookies. If you sign in, a session token is stored in your browser only to keep you signed in, nothing is written before that.