WCAG Compliance
Making MapsIndoors accessible to all is important to us at MapsPeople, and we go to great lengths to make sure you can build accessible apps using our SDKs.
We support building apps that are at least compliant with WCAG 2.1 AA using any of the MapsIndoors SDKs (JavaScript, iOS, and Android). Our SDKs also support screen readers such as Voiceover on iOS and TalkBack on Android.
However, it is important to note that compliance with e.g. WCAG is to some degree a subjective assessment. You will only be judged based on which of the WCAG criteria fit your app's specific use case. We offer our customers the ability to build apps that are (most often) centered around maps, so they are judged on that, not how you would evaluate a music player or news app.
AAA Support
Technically, it is possible to build an app that is AAA compliant under the WCAG assessment, but most legal requirements focus on AA compliance, which is less specific on some points compared to AAA.
VPAT
MapsPeople provides an External Visually Impaired Voluntary Product Accessibility Template (VPAT), which details the guidelines and compliance level related to each MapsIndoors SDK. This document can also be acquired in PDF format upon request.
Compliance of SDKs indicate that a WCAG compliant application can be built using the SDK.
A - Beginner Level
Guideline | Summary | Status iOS SDK | Status Web SDK | Status Android SDK |
---|---|---|---|---|
1.1.1 – Non-text Content | Provide text alternatives for non-text content | Compliant | Compliant | Compliant |
1.2.1 – Audio-only and Video-only (Pre-recorded) | Provide an alternative to video-only and audio-only content | Not Relevant | Not relevant | Not relevant |
1.2.2 – Captions (Pre-recorded) | Provide captions for videos with audio | Not Relevant | Not relevant | Not relevant |
1.2.3 – Audio Description or Media Alternative (Pre-recorded) | Video with audio has a second alternative | Not Relevant | Not relevant | Not relevant |
1.3.1 – Info and Relationships | Logical structure | Compliant | Compliant | Compliant |
1.3.2 – Meaningful Sequence | Present content in a meaningful order | Compliant | Compliant | Compliant |
1.3.3 – Sensory Characteristics | Use more than one sense for instructions | Compliant | Compliant | Compliant |
1.4.1 – Use of Colour | Don’t use presentation that relies solely on colour | Compliant | Compliant | Compliant |
1.4.2 – Audio Control | Don’t play audio automatically | Not relevant | Not relevant | Not relevant |
2.1.1 – Keyboard | Accessible by keyboard only | Compliant | Compliant | Compliant |
2.1.2 – No Keyboard Trap | Don’t trap keyboard users | Compliant | Compliant | Compliant |
2.1.4 - Character Key Shortcuts | Provide options for Character Key Shortcuts | Not Relevant | Not relevant | Not relevant |
2.2.1 – Timing Adjustable | Time limits have user controls | Not Relevant | Compliant | Not Relevant |
2.2.2 – Pause, Stop, Hide | Provide user controls for moving content | Not Relevant | Not relevant | Not relevant |
2.3.1 – Three Flashes or Below | No content flashes more than three times per second | Not Relevant | Compliant | Not Relevant |
2.4.1 – Bypass Blocks | Provide a ‘Skip to Content’ link | Not relevant | Not relevant | Not relevant |
2.4.2 – Page Titled | Use helpful and clear page titles | Compliant | Compliant | Compliant |
2.4.3 – Focus Order | Logical order | Compliant | Compliant | Compliant |
2.4.4 – Link Purpose (In Context) | Every link’s purpose is clear from its context | Compliant | Compliant | Compliant |
2.5.1 - Pointer Gestures | Pointer Gestures can be operated with a single pointer | Compliant | Complaint | Compliant |
2.5.2 - Pointer Cancellation | Functionality for pointer cancellation | Compliant | Compliant | Compliant |
2.5.3 - Label in Name | Name of item contains text that is presented visually | Compliant | Compliant | Compliant |
2.5.4 - Motion Actuation | Motion controls also have user interface components | Compliant | Compliant | Not relevant |
3.1.1 – Language of Page | Page has a language assigned | Not relevant | Compliant | Not relevant |
3.2.1 – On Focus | Elements do not change when they receive focus | Compliant | Compliant | Compliant |
3.2.2 – On Input | Elements do not change when they receive input | Compliant | Compliant | Compliant |
3.3.1 – Error Identification | Clearly identify input errors | Compliant | Compliant | Compliant |
3.3.2 – Labels or Instructions | Label elements and give instructions | Compliant | Compliant | Compliant |
4.1.1 – Parsing | No major code errors | Not Relevant | Compliant | Not Relevant |
4.1.2 – Name, Role, Value | Build all elements for accessibility | Compliant | Compliant | Compliant |
AA - Intermediate Level (Level recommended by ADA and Section 508)
Guideline | Summary | Status iOS SDK | Status Web SDK | Status Android SDK |
---|---|---|---|---|
1.2.4 – Captions (Live) | Live videos have captions | Not Relevant | Not relevant | Not Relevant |
1.2.5 – Audio Description (Pre-recorded) | Users have access to audio description for video content | Not Relevant | Not relevant | Not Relevant |
1.3.4 - Orientation | Content is not restricted to specific orientation | Compliant | Compliant | Compliant |
1.3.5 - Identify Input Purpose | Purpose of input fields is clear | Not Relevant | Not relevant | Compliant |
1.4.3 – Contrast (Minimum) | Contrast ratio between text and background is at least 4.5:1 | Compliant, but will depend on colors selected by customer. | Compliant | Compliant, but will depend on colors selected by customer. |
1.4.4 – Resize Text | Text can be resized to 200% without loss of content or function | Compliant | Compliant | Compliant |
1.4.5 – Images of Text | Don’t use images of text | Compliant | Compliant | Compliant |
1.4.10 - Reflow | Content responds dynamically to viewport dimension changes | Compliant | Compliant | Compliant |
1.4.11 - Non-text Contrast | Non-textual elements have minimum contrast ratio | Compliant | Compliant | Compliant |
1.4.12 - Text Spacing | Guidelines for text spacing | Compliant | Compliant | Compliant |
1.4.13 Content on Hover or Focus | Guidelines for content behavior on interaction | Not Relevant | Not relevant | Compliant |
2.4.5 – Multiple Ways | Offer several ways to find pages | Compliant | Compliant | Compliant |
2.4.6 – Headings and Labels | Use clear headings and labels | Compliant | Compliant | Compliant |
2.4.7 – Focus Visible | Ensure keyboard focus is visible and clear | Compliant | Compliant | Compliant |
3.1.2 – Language of Parts | Tell users when the language on a page changes | Not Relevant | Not Relevant | Not Relevant |
3.2.3 – Consistent Navigation | Use menus consistently | Compliant | Compliant | Compliant |
3.2.4 – Consistent Identification | Use icons and buttons consistently | Compliant | Compliant | Compliant |
3.3.3 – Error Suggestion | Suggest fixes when users make errors | Compliant | Compliant | Compliant |
3.3.4- Error Prevention (Legal, Financial, Data) | Reduce the risk of input errors for sensitive data | Not Relevant | Not Relevant | Not Relevant |
4.1.3 - Status Messages | Guidelines for Status Messages | Not Relevant | Compliant | Compliant |
AAA - Advanced Level
Please note that MapsIndoors is not fully compliant with the AAA Level of accessibility at this time.
Guideline | Summary | Status iOS SDK | Status Web SDK | Status Android SDK |
---|---|---|---|---|
1.2.6 – Sign Language (Pre-recorded) | Provide sign language translations for videos | Not Relevant | Not Relevant | Not Relevant |
1.2.7 – Extended Audio description (Pre-recorded) | Provide extended audio description for videos | Not Relevant | Not Relevant | Not Relevant |
1.2.8 – Media Alternative (Pre-recorded) | Provide a text alternative to videos | Not Relevant | Not Relevant | Not Relevant |
1.2.9 – Audio Only (Live) | Provide alternatives for live audio | Not Relevant | Not Relevant | Not Relevant |
1.3.6 - Identify Purpose | Purpose of UI components can be programmatically determined | Not compliant | Not compliant | Not compliant |
1.4.6 – Contrast (Enhanced) | Contrast ratio between text and background is at least 7:1 | Compliant, but will depend on colors selected by customer. | Compliant | Compliant, but will depend on colors selected by customer. |
1.4.7 – Low or No Background Audio | Audio is clear for listeners to hear | Not Relevant | Not Relevant | Not Relevant |
1.4.8 – Visual Presentation | Offer users a range of presentation options | Not Compliant | Not Compliant | Not Compliant |
1.4.9 – Images of Text (No Exception) | Don’t use images of text | Compliant | Compliant | Compliant |
2.1.3 – Keyboard (No Exception) | Accessible by keyboard only, without exception | Compliant | Not Compliant | Compliant |
2.2.3 – No Timing | No time limits | Compliant | Not Compliant | Compliant |
2.2.4 – Interruptions | Don’t interrupt users | Compliant | Compliant | Compliant |
2.2.5 – Re-authenticating | Save user data when re-authenticating | Compliant | Compliant | Compliant |
2.2.6 - Timeouts | Users are warned about timeouts | Not Relevant | Not Relevant | Not Relevant |
2.3.2 – Three Flashes | No content flashes more than three times per second | Compliant | Compliant | Compliant |
2.3.3 - Animations from Interactions | Most Animations from Interactions can be disabled | Not compliant | Not compliant | Not compliant |
2.4.8 – Location | Let users know where they are | Not Compliant | Not Compliant | Not Compliant |
2.4.9 – Link Purpose (Link Only) | Every link’s purpose is clear from its text | Compliant | Compliant | Compliant |
2.4.10 – Section Headings | Break up content with headings | Compliant | Compliant | Compliant |
2.5.5 - Target Size | Guidelines for size of target for pointer inputs | Not Compliant | Not Compliant | Not Compliant |
2.5.6 - Concurrent Input Mechanisms | Non-restriction of input modalities | Compliant | Compliant | Compliant |
3.1.3 – Unusual words | Explain any strange words | Compliant | Compliant | Compliant |
3.1.4 – Abbreviations | Explain any abbreviations | Compliant | Compliant | Compliant |
3.1.5 – Reading Level | Users with nine years of school can read your content | Compliant | Compliant | Compliant |
3.1.6 – Pronunciation | Explain any words that are hard to pronounce | Compliant | Compliant | Compliant |
3.2.5 – Change on Request | Don’t change elements on your website until users ask | Not fully compliant, search auto populates results on text input | Compliant | Not fully compliant, search auto populates results on text input |
3.3.5 – Help | Provide detailed help and instructions | Not Compliant | Compliant | Not Compliant |
3.3.6 – Error Prevention (All) | Reduce the risk of all input errors | Compliant | Compliant | Compliant |