Accessibility report
FIXI Website
About the Evaluation
- Report Creator
- Software Developer: Tristan Caspers
- Evaluation Commissioner
- Product owner: Sander van der Klugt and UX-Designer: Janne van Hooff
- Evaluation date
- Tue Jun 09 2026
Executive Summary
This accessibility evaluation report was created using the Website Accessibility Conformance Evaluation Methodology (WCAG-EM), a publicly available and well-documented evaluation method (https://www.w3.org/WAI/eval/report-tool).
The audit results in this report are based on version 20263.07.1 of Fixi, which is planned to release on July 16th 2026. Results may slightly differ for other versions.
The majority of Fixi (https://www.fixi.nl and its other web domains) meets the applicable WCAG 2.2 requirements. One action point remains to achieve full compliance:
- The cookie plugin is not fully accessible by the keyboard.
One action point of the previous report has been resolved:
- A feedback message is displayed when a user navigates away from a report that is currently being created, for example by opening the settings page.
Scope of the Evaluation
- Website name
- Fixi
- Scope of the website
- The scope of this evaluation covers all web content intended for citizens, enabling them to submit reports and view existing reports about issues in public spaces. Web content intended for organizational users will be incorporated in a future iteration of this report.
- WCAG Version
- 2.2
- Conformance target
- AA
- Accessibility support baseline
- Accessibility support for the latest versions of the browsers Chrome, Edge, Firefox and Safari in combination with relative assistive technologies such as Narrator, TalkBack, VoiceOver and JAWS.
- Additional evaluation requirements
- Not provided
Detailed Audit Results
Summary
Reported on 55 of 55 WCAG 2.2 AA Success Criteria.
- 46 Passed
- 0 Failed
- 0 Cannot tell
- 9 Not present
- 0 Not checked
All Results
1 Perceivable
1.1 Text Alternatives
| Success Criterion | Result | Observations |
|---|---|---|
| 1.1.1: Non-text Content |
Result: Passed |
Observations: Fixi uses the alt and title attributes of native HTML with a text value as alternative for non-text content that is presented to the user. |
1.2 Time-based Media
| Success Criterion | Result | Observations |
|---|---|---|
| 1.2.1: Audio-only and Video-only (Prerecorded) |
Result: Not present |
Observations: Fixi does not have audio-only or video-only media so there is no alternative required. |
| 1.2.2: Captions (Prerecorded) |
Result: Not present |
Observations: Fixi does not have media with prerecorded audio so there are no captions required. |
| 1.2.3: Audio Description or Media Alternative (Prerecorded) |
Result: Not present |
Observations: Fixi does not have time-based media so there is no alternative required. |
| 1.2.4: Captions (Live) |
Result: Not present |
Observations: Fixi does not broadcast live audio content so there are no captions required. |
| 1.2.5: Audio Description (Prerecorded) |
Result: Not present |
Observations: Fixi does not have prerecorded video content so there is no audio description required. |
1.3 Adaptable
| Success Criterion | Result | Observations |
|---|---|---|
| 1.3.1: Info and Relationships |
Result: Passed |
Observations: Fixi is created with semantic HTML and makes proper use of ARIA attributes (such as aria-required) and roles to programmatically determine what is presented. |
| 1.3.2: Meaningful Sequence |
Result: Passed |
Observations: Fixi's content order in the DOM / what is visible on screen is always the correct reading sequence. This order can not randomly be changed by internal CSS, changing the sequence is always structured to its intent. |
| 1.3.3: Sensory Characteristics |
Result: Passed |
Observations: Fixi does not make users rely on sensory cues (e.g. shape, sound or visual location) to understand or operate content. |
| 1.3.4: Orientation |
Result: Passed |
Observations: Fixi uses a responsive layout and does not lock functionality relative to orientation. |
| 1.3.5: Identify Input Purpose |
Result: Passed |
Observations: Fixi's input fields that collect personal user information are programmatically identifiable |
1.4 Distinguishable
| Success Criterion | Result | Observations |
|---|---|---|
| 1.4.1: Use of Color |
Result: Passed |
Observations: Fixi uses colors just for decorative purposes, actual information what it means is always combined. For example, shown errors are red but clearly describe that user needs to do a certain action to continue. |
| 1.4.2: Audio Control |
Result: Not present |
Observations: Fixi does not play audio automatically so there is no audio control mechanism required. |
| 1.4.3: Contrast (Minimum) |
Result: Passed |
Observations: Fixi's design rules cover that the contrast ratio of content is at least 4.5:1. |
| 1.4.4: Resize text |
Result: Passed |
Observations: Fixi supports resizing text up to 200% without loss of content or functionality. |
| 1.4.5: Images of Text |
Result: Not present |
Observations: Fixi does not contain images with text that is crucial to be read. All meaningful text is wrapped by semantic HTML tags. The images containing text are mostly logos which are shown for illustrative purposes only. |
| 1.4.10: Reflow |
Result: Passed |
Observations: Fixi's responsive design satisfies this criterion as it arranges content to be functional in a different layout when a high zoom level is used. |
| 1.4.11: Non-text Contrast |
Result: Passed |
Observations: Fixi's design rules cover that the contrast ratio of all content is at least 3:1. |
| 1.4.12: Text Spacing |
Result: Passed |
Observations: Fixi's content remains readable and its layout functional when overriding the line height or spacing. |
| 1.4.13: Content on Hover or Focus |
Result: Passed |
Observations: Fixi ensures users can access and dismiss content that appears on hover or focus without losing information or functionality. |
2 Operable
2.1 Keyboard Accessible
| Success Criterion | Result | Observations |
|---|---|---|
| 2.1.1: Keyboard |
Result: Passed |
Observations: Fixi is fully functional without using a mouse. |
| 2.1.2: No Keyboard Trap |
Result: Passed |
Observations: Fixi's elements are able to receive focus using standard keyboard navigation without getting trapped in an element. |
| 2.1.4: Character Key Shortcuts |
Result: Passed |
Observations: Fixi does not have custom single-character shortcuts so is compliant with this criterion. |
2.2 Enough Time
| Success Criterion | Result | Observations |
|---|---|---|
| 2.2.1: Timing Adjustable |
Result: Passed |
Observations: Fixi does not contain time limits except for the contextual "service targets" of responding to the reporter for the first time and handling an issue. However, these time limits are real-time exceptions so they do not interfere with users having content open. |
| 2.2.2: Pause, Stop, Hide |
Result: Passed |
Observations: Fixi does not have unessential moving, blinking or scrolling that lasts more than five seconds. The main list of data, the issues, does auto-update unessentially but the auto-update triggers a section above the list showing the buttons "Refresh" and "Close" which acts as the mechanism for the user to control this content update. |
2.3 Seizures and Physical Reactions
| Success Criterion | Result | Observations |
|---|---|---|
| 2.3.1: Three Flashes or Below Threshold |
Result: Not present |
Observations: Fixi does not contain any content that flashes more than three times in a second. |
2.4 Navigable
| Success Criterion | Result | Observations |
|---|---|---|
| 2.4.1: Bypass Blocks |
Result: Passed |
Observations: Fixi is created with semantic HTML and makes proper use of ARIA roles so bypassing blocks can be done by pressing the key equal to what the focus should be put on next, this navigation is compliant with the widely accepted defaults of screen readers (e.g. H for next header, B for next button, P for next paragraph, etc.). |
| 2.4.2: Page Titled |
Result: Passed |
Observations: Fixi's code changes the document's title attribute automatically with a value that describes the topic of a page whenever the user navigates to it. |
| 2.4.3: Focus Order |
Result: Passed |
Observations: Fixi can logically be navigated through by using the TAB key, the order preserves meaning and operability. |
| 2.4.4: Link Purpose (In Context) |
Result: Passed |
Observations: Fixi shows multiple links, the purpose of a link can be determined by reading the added context before it. |
| 2.4.5: Multiple Ways |
Result: Passed |
Observations: Fixi's pages can be reached by either going to a link directly or by using the navigation menu or tabs. For the pages that are used daily, like the issue details page, emails and push notifications are also send to the relative user which makes navigation possible with one button click. |
| 2.4.6: Headings and Labels |
Result: Passed |
Observations: Fixi's pages are correctly split into sections, each with its unique heading describing the section. Furthermore, form fields are combined with a label describing what the field is for. |
| 2.4.7: Focus Visible |
Result: Passed |
Observations: Fixi's focusable elements always show an outline whenever focus is set on an element. |
| 2.4.11: Focus Not Obscured (Minimum) |
Result: Passed |
Observations: This criterion builds on 2.4.7, the outline shown on elements when focus is set on it is thick enough and is compliant with the contrast ratio. |
2.5 Input Modalities
| Success Criterion | Result | Observations |
|---|---|---|
| 2.5.1: Pointer Gestures |
Result: Passed |
Observations: Fixi avoids gestures that require multiple fingers for essential functionality, although sometimes exceptions are made, e.g. zoom behavior on the map. If that is the case, Fixi makes sure that there is an alternative for the same functionality, e.g. a button that operates the same way. |
| 2.5.2: Pointer Cancellation |
Result: Passed |
Observations: Fixi always shows a confirmation popup for critical actions to prevent accidental irreversible actions that can be triggered with just a single pointer. |
| 2.5.3: Label in Name |
Result: Passed |
Observations: Fixi's elements technically use the same name as what is presented visually. |
| 2.5.4: Motion Actuation |
Result: Passed |
Observations: Fixi does not contain functionality that can be operated by device motion so there is no alternative or option to disable this required. |
| 2.5.7: Dragging Movements |
Result: Passed |
Observations: Fixi supports drag and drop for uploading attachments from an external source, for this the dragging is essential. To not force the user to drag there is also an "Upload" button as alternative. |
| 2.5.8: Target Size (Minimum) |
Result: Passed |
Observations: Fixi's target element for dropping an attachment is well over the required minimum size of 24 by 24 pixels. Currently the target is 390 by 170 pixels. |
3 Understandable
3.1 Readable
| Success Criterion | Result | Observations |
|---|---|---|
| 3.1.1: Language of Page |
Result: Passed |
Observations: Fixi supports a total of 6 languages and the set language can be selected by the user itself. |
| 3.1.2: Language of Parts |
Result: Passed |
Observations: Fixi does not contain static passages, phrases or words of a specific language. The website always strives to translate all displayed content correctly so there would not be exceptions to programatically cover. |
3.2 Predictable
| Success Criterion | Result | Observations |
|---|---|---|
| 3.2.1: On Focus |
Result: Passed |
Observations: Fixi might change styling or show and hide relative content but does not execute other functionality when putting focus on an element. |
| 3.2.2: On Input |
Result: Passed |
Observations: Same observations as described in criterion 3.2.1. |
| 3.2.3: Consistent Navigation |
Result: Passed |
Observations: Fixi's order of navigation options can not be changed automatically as side effect of an action. The navigation options are purely based on the users role and permissions and therefore a change of visible options can only be initiated by the user itself. |
| 3.2.4: Consistent Identification |
Result: Passed |
Observations: Fixi is built on consistent design rules and makes use of a frontend framework whereby the concept of reusable components is important. Extra effort is also put into reusing icons and labels for relative functionalities. This results into a consistent identification of components. |
| 3.2.6: Consistent Help |
Result: Passed |
Observations: Fixi supports one "human contact mechanism": the option to fill in a form with feedback. This form can be opened through a static button in the header and hence is not repeated on multiple web pages. |
3.3 Input Assistance
| Success Criterion | Result | Observations |
|---|---|---|
| 3.3.1: Error Identification |
Result: Passed |
Observations: Fixi identifies items whereby an input error is detected by giving it a red color accent. In addition the error is described to the user in text, frequently placed under the input. |
| 3.3.2: Labels or Instructions |
Result: Passed |
Observations: Fixi shows simple labels and sometimes full instructions for content that requires user input. |
| 3.3.3: Error Suggestion |
Result: Passed |
Observations: Fixi shows the error suggestions wherever applicable so the user would not get stuck somewhere without knowing why. |
| 3.3.4: Error Prevention (Legal, Financial, Data) |
Result: Not present |
Observations: Fixi does not contain web pages that cause legal commitments or financial transactions for the user. |
| 3.3.7: Redundant Entry |
Result: Passed |
Observations: Fixi helps users to efficiently handle repeating processes so the software will also not request the user to fill in previously entered information, unless this is essential. For example, when resetting a password. |
| 3.3.8: Accessible Authentication (Minimum) |
Result: Passed |
Observations: Fixi's native account type requires the user to remember their password, which is a cognitive function test that user owned password managers could assist with. Fixi also supports different kind of authentication like SSO or OAuth with Apple, Facebook or Google as alternatives. |
4 Robust
4.1 Compatible
| Success Criterion | Result | Observations |
|---|---|---|
| 4.1.2: Name, Role, Value |
Result: Passed |
Observations: Fixi's code mostly contains native HTML and uses ARIA labels and roles for its custom components to inform assistive technologies what kind of purpose the elements have. |
| 4.1.3: Status Messages |
Result: Passed |
Observations: Fixi uses the ARIA attribute role with value "status" and the ARIA attribute live with value "polite" to present status messages to assistive technologies automatically without user focus being required for this. |
Sample of Audited Web Pages
- Login - https://www.fixi.nl/#/user/loginoptions
- Create issue - https://www.fixi.nl/#/issue/new+map
- List of issues - https://www.fixi.nl/#/issue/list+map
- User settings - https://www.fixi.nl/#/mySettings/details
Web Technology
HTML,CSS,WAI-ARIA,JavaScript,SVG,PDF
Recording of Evaluation Specifics
Not provided