Smart Capture SDKs accessibility statement (VPAT)
Introduction
Building inclusive products aligns with our company vision to simplify identity for everyone. This accessibility statement documents the current status of our Smart Capture Software Development Kits (SDKs) for Android, iOS and Web.
To make these experiences work for everyone, we design and build products with accessibility in mind.
Onfido strives to:
- create, and update products and services to comply with the World Wide Web Consortium's (W3C) Web Content Accessibility Guidelines version 2.1 at the AA level (WCAG 2.1 AA)
- test the accessibility of our products using various techniques, including automated tools, expert heuristic review, visual inspection, manual operation, and testing by disabled and non-disabled users
- provide information to customers about our level of compliance
- respond to inquiries and complaints regarding difficulty accessing an Onfido product, service, or website due to accessibility issues
On 1 November, 2023, the Digital Accessibility Centre (DAC) renewed our Certificate of Accreditation for our Onfido Smart Capture SDKs, verifying WCAG 2.1 compliance to level AA.
![](./accessibility-accreditation-sdk.png)
Our SDK underwent multiple technical compliance audits and robust end-to-end testing by users with a wide range of disabilities, including blindness, low vision, dyslexia, colour blindness, mobility impairments, learning difficulties, deafness, Asperger's, anxiety and panic disorders.
All testing is carried out in line with relevant platform-specific guidelines and conforms with The Public Sector Bodies (Websites and Mobile Applications) Accessibility Regulations 2018. Testing also conforms to Section 508 of the Americans with Disabilities Act (ADA).
Onfido SDK Voluntary Product Accessibility Template (VPAT)
This report is based on version 2.5 of the WCAG VPAT Template created by the ITI.
Name of Product/Version: Onfido SDK
Report Date: 1 April 2024
Platform: Web [14.22.0], iOS [29.9.0], Android [20.1.0]
Product Description: Onfido's SDK enables users to validate their identities using biometrics, document capture, proof of address (PoA), and near-field communication (NFC).
Contact Information: accessibility@onfido.com
Evaluation Methods Used: Onfido uses established industry standards, including the Web Content Accessibility Guidelines, Section 508, and EN 301 549, to guide product evaluation during development and throughout the product lifecycle. Onfido's accessibility evaluation assessments incorporate a variety of measures, which can include:
(i) conducting automated testing using a variety of proprietary and external tools,
(ii) performing inspection and manual testing with a keyboard and adaptive technologies, such as screen readers and speech recognition software; and
(iii) testing by individuals with disabilities.
For testing completed by DAC, the following assistive tech combinations were used.
User type | Operating system | Browser | Assistive technology |
---|---|---|---|
Blind | Windows | Chrome Edge | JAWS 2019 or above NVDA (latest version) |
Blind | iOS | Safari | Voiceover |
Blind | Android | Chrome | Talkback / Voice Assistant |
Mobility | Windows | Chrome Edge | Dragon Voice Activation v15 or above Keyboard |
Mobility | iOS | Safari | Bluetooth Keyboard |
Mobility | Android | Chrome | Bluetooth Keyboard |
Deaf | Windows | Chrome | - |
Deaf | iOS | Safari | - |
Colour Blind / Dyslexia | Windows | Chrome Edge | - |
Colour Blind / Dyslexia | iOS / Android | - | - |
Low Vision | Windows | Chrome Edge | Screen Magnification Reflow, Text Spacing Windows Magnifier Zoom Text |
Low Vision | iOS | Safari | Magnification System Inverted Colours |
Low Vision | Android | Chrome | Magnification System Inverted Colours |
Cognitive Impaired / Asperger's / Anxiety | Windows | Edge | System Inverted Colours |
Applicable Standards / Guidelines
This report covers the degree of conformance with the following accessibility standards and guidelines:
Standard / Guideline | Included in Report |
---|---|
Web Content Accessibility Guidelines 2.0 | Level A: Yes Level AA: Yes Level AAA: No |
Web Content Accessibility Guidelines 2.1 | Level A: Yes Level AA: Yes Level AAA: No |
Web Content Accessibility Guidelines 2.2 | untested |
Terms
The terms used in the Conformance Level information are defined as follows:
- Supports: The product's functionality has at least one method that meets the criterion without known defects or with equivalent facilitation.
- Partially Supports: Some product functionality does not meet the criterion.
- Does Not Support: Most product functionality does not meet the criterion.
- Not Applicable: The criterion is not relevant to the product.
- Not Evaluated: The product has not been evaluated against the criterion. This can only be used in WCAG Level AAA criteria.
WCAG 2.1 Report
Note: When reporting on conformance with the WCAG 2.1 Success Criteria, they are scoped for full pages, complete processes, and accessibility-supported technology use as documented in the WCAG 2.1 Conformance Requirements.
Table 1: Success Criteria, Level A
Notes:
Criteria | Conformance Level | Remarks & Explanations |
---|---|---|
1.1.1 Non-text Content (Level A) | Supports | Onfido's SDK provides text alternatives for all non-text content. |
1.2.1 Audio-only and Video-only (Prerecorded) (Level A) | Not Applicable | Onfido's SDK does not include pre-recorded audio-only or pre-recorded video-only content. |
1.2.2 Captions (Prerecorded) (Level A) | Not Applicable | Onfido's SDK does not include pre-recorded synchronized media content. |
1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) | Not Applicable | Onfido's SDK does not include pre-recorded video content. |
1.3.1 Info and Relationships (Level A) | Supports | Onfido's SDK conveys presentation information programmatically. |
1.3.2 Meaningful Sequence (Level A) | Supports | Onfido's SDK presents a correct and logical reading sequence for all content. |
1.3.3 Sensory Characteristics (Level A) | Supports | Onfido's SDK does not rely solely on shape, color, size, location, orientation, or sound to convey instructions. |
1.4.1 Use of Color (Level A) | Supports | Onfido's SDK does not rely solely on color to convey information or to distinguish elements. |
1.4.2 Audio Control (Level A) | Not Applicable | Onfido's SDK does not include audio content. |
2.1.1 Keyboard (Level A) | Partially Supports | Onfido's SDK allows users to access functionality and content using only the keyboard with the following exception: * Allow camera access pop up is not dismissed with esc key. |
2.1.2 No Keyboard Trap (Level A) | Supports | Onfido's SDK does not trap the user's keyboard focus. |
2.1.4 Character Key Shortcuts (Level A 2.1 and 2.2) | Supports | Onfido's SDK does include keyboard shortcuts which are only active when the relevant component has focus. |
2.2.1 Timing Adjustable (Level A) | Not Applicable | Onfido's SDK security requirements necessitate a time constraint for video capture. |
2.2.2 Pause, Stop, Hide (Level A) | Supports | Onfido's SDK does not include moving, blinking, scrolling, or auto-updating information that lasts more than five seconds. |
2.3.1 Three Flashes or Below Threshold (Level A) | Supports | Onfido's SDK does not include content which flashes more than 3 times per second. |
2.4.1 Bypass Blocks (Level A) | Supports | Onfido's SDK provides bypass blocks that allow users to skip repeated content. |
2.4.2 Page Titled (Level A) | Not Applicable (Web) Supports (iOS, Android) | Page title attributes on Web are set by our clients who implement our SDK; If not set properly this may cause confusion to screen reader users. |
2.4.3 Focus Order (Level A) | Partially Supports | Onfido's SDK provides a logical focus order for content, with the following exceptions: * Screen reader doesn't read out “3 months” in description copy: “must have been in the last 3 months” on the Proof of Address Statement Page. |
2.4.4 Link Purpose (In Context) (Level A) | Partially Supports | Onfido's SDK provides text to clearly describe the purpose of links, with the following exceptions: * Links being read incorrectly on our Qualified eSignature flow. Parts of the text with link and underline not announced as part of the rest of the text. |
2.5.1 Pointer Gestures (Level A 2.1 and 2.2) | Partially Supports | Onfido's SDK enables multipoint or path-based gestures, with the following exceptions: * When on doc confirmation screen with enlarged image preview on, keyboard users cannot move focus to the scrollbars so are unable to navigate around the preview without a mouse/trackpad. |
2.5.2 Pointer Cancellation (Level A 2.1 and 2.2) | Supports | Onfido's SDK allows users to cancel pointer interactions, with the following exceptions: * When a Voiceover user selects the ‘country' button, and attempts to continue navigating using swipe gestures, it was not possible to move focus to the next element and users were unable to navigate in this way. |
2.5.3 Label in Name (Level A 2.1 and 2.2) | Supports | Onfido's SDK presents labels both visually and programmatically. |
2.5.4 Motion Actuation (Level A 2.1 and 2.2) | Not Applicable | Onfido's SDK does not use motion actuation for user interaction. |
3.1.1 Language of Page (Level A) | Not Applicable | Language attributes are set by our clients who implement our SDK; If not set properly, this may cause confusion to screen reader users who may not be able to identify the primary language of the page in their journey. |
3.2.1 On Focus (Level A) | Supports | Onfido's SDK does not change context when a component receives focus. |
3.2.2 On Input (Level A) | Supports | Onfido's SDK does not change context on user interaction. |
3.2.6 Consistent Help (Level A 2.2 only) | Supports | Onfido's SDK ensures help is in the same place when it is on multiple pages. |
3.3.1 Error Identification (Level A) | Supports | If an input error is detected in Onfido's SDK, the error is described to the user in text. |
3.3.2 Labels or Instructions (Level A) | Supports | Onfido's SDK provides labels or instructions for user inputs. |
3.3.7 Redundant Entry (Level A 2.2 only) | Supports | Onfido's SDK elements have complete start and end tags, are nested appropriately, do not contain duplicate attributes, and have unique IDs. |
4.1.1 Parsing (Level A) | Supports | For WCAG 2.0 and 2.1, the September 2023 errata update indicates this criterion is always supported. See the WCAG 2.0 Editorial Errata and the WCAG 2.1 Editorial Errata. |
4.1.2 Name, Role, Value (Level A) | Supports | Onfido's SDK provides appropriate names, roles, and values for interactive elements. |
Table 2: Success Criteria, Level AA
Notes:
Criteria | Conformance Level | Remarks & Explanations |
---|---|---|
1.2.4 Captions (Live) (Level AA) | Not Applicable | Onfido's SDK does not include any live synchronized media. |
1.2.5 Audio Description (Prerecorded) (Level AA) | Not Applicable | Onfido's SDK does not include pre-recorded video content. |
1.3.4 Orientation (Level AA 2.1 and 2.2) | Not Applicable | Onfido's SDK security requirements necessitate restricting view to the portrait orientation. Users with dexterity impairments, who have a mounted device may not be able to use the content if the display is locked in the wrong orientation. Users with low vision may not be able to view content in the orientation that works best for them; for example, to increase the text size by viewing content in landscape. |
1.3.5 Identify Input Purpose (Level AA 2.1 and 2.2) | Supports | Onfido's SDK appropriately identifies the purposes of components, icons, and regions. |
1.4.3 Contrast (Minimum) (Level AA) | Supports | Onfido's SDK provides sufficient color contrast between text and its background. |
1.4.4 Resize text (Level AA) | Partially Supports | Onfido's SDK allows users to zoom in up to 200% without loss of content or functionality, with the following exceptions: * Motion capture screen does not support text at 200% because the camera view can't scroll. * Proof of address capture text is truncated on iPhone 7 IOS 15.1 |
1.4.5 Images of Text (Level AA) | Not Applicable | Onfido's SDK does not include images of text. |
1.4.10 Reflow (Level AA 2.1 and 2.2) | Supports | Onfido's SDK allows the use of screens as small as 320 CSS pixels by 256 CSS pixels without the loss of information or functionality, and without requiring two-dimensional scrolling. |
1.4.11 Non-text Contrast (Level AA 2.1 and 2.2) | Partially Supports | Onfido's SDK provides sufficient color contrast between important components or graphics and their backgrounds, with the following exceptions: * [Android] Motion Alignment: The white guides may not stand out against bright white backgrounds. * [Android] Motion Head turn: the guiding brackets need to be lightened. |
1.4.12 Text Spacing (Level AA 2.1 and 2.2) | Supports | Onfido's SDK allows users to adjust text spacing without loss of content or functionality. |
1.4.13 Content on Hover or Focus (Level AA 2.1 and 2.2) | Supports | Onfido's SDK ensures that content which appears on hover or focus is dismissible, hoverable, and persistent. |
2.4.5 Multiple Ways (Level AA) | Supports | Onfido's SDK provides users with multiple ways to navigate to pages and content. |
2.4.6 Headings and Labels (Level AA) | Supports | Onfido's SDK provides users with headings or labels to describe topic or purpose of content. |
2.4.7 Focus Visible (Level AA) | Supports | Onfido's SDK provides visible focus indicators for all interactive elements. |
2.4.11 Focus Not Obscured (Minimum) (Level AA 2.2 only) | Supports | Onfido's SDK does not hide user interface components when they receive keyboard focus. |
2.5.7 Dragging Movements (Level AA 2.2 only) | Not Applicable | Onfido's SDK does not use dragging movements. |
2.5.8 Target Size (Minimum) (Level AA 2.2 only) | Supports | Onfido's SDK uses a minimum target size of 24 by 24 pixels. |
3.1.2 Language of Parts (Level AA) | Not Applicable | Onfido's SDK does not include passages or phrases in a language other than the main language of the page, with one exception: * Legal terms and conditions must be presented in the language of the country of origin. |
3.2.3 Consistent Navigation (Level AA) | Supports | Onfido's SDK provides clear and consistent navigation across pages. |
3.2.4 Consistent Identification (Level AA) | Supports | Onfido's SDK consistently identifies components with the same functionality. |
3.3.3 Error Suggestion (Level AA) | Supports | Where input errors are detected, Onfido's SDK provides suggestions for resolving them. |
3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) | Not Applicable | Onfido's SDK does not inherently cause legal commitments or financial transactions to occur. |
3.3.8 Accessible Authentication (Minimum) (Level AA 2.2 only) | Not Applicable | Onfido's SDK does not present cognitive function tests, with the following exception: * Our Video Liveness product requires users to repeat digits back for security purposes. |
4.1.3 Status Messages (Level AA 2.1 and 2.2) | Supports | Onfido's SDK provides status messages which are presented to assistive technologies. |
Table 3: Success Criteria, Level AAA
Notes:
Criteria | Conformance Level | Remarks & Explanations |
---|---|---|
1.2.6 Sign Language (Prerecorded) (Level AAA) | Not Evaluated | |
1.2.7 Extended Audio Description (Prerecorded) (Level AAA) | Not Evaluated | |
1.2.8 Media Alternative (Prerecorded) (Level AAA) | Not Evaluated | |
1.2.9 Audio-only (Live) (Level AAA) | Not Evaluated | |
1.3.6 Identify Purpose (Level AAA 2.1 and 2.2) | Not Evaluated | |
1.4.6 Contrast (Enhanced) (Level AAA) | Not Evaluated | |
1.4.7 Low or No Background Audio (Level AAA) | Not Evaluated | |
1.4.8 Visual Presentation (Level AAA) | Partially Supports | When colours are inverted, certain design elements, such as back arrows, are very difficult to see. Visually impaired users of the SDK may struggle to notice them. The rendering of these elements is determined by the user's platform and Operating System and is not possible for us to influence. |
1.4.9 Images of Text (No Exception) (Level AAA) | Not Evaluated | |
2.1.3 Keyboard (No Exception) (Level AAA) | Not Evaluated | |
2.2.3 No Timing (Level AAA) | Not Applicable | Onfido's SDK security requirements necessitate a time constraint for video capture. |
2.2.4 Interruptions (Level AAA) | Not Evaluated | |
2.2.5 Re-authenticating (Level AAA) | Not Evaluated | |
2.2.6 Timeouts (Level AAA 2.1 and 2.2) | Not Evaluated | |
2.3.2 Three Flashes (Level AAA) | Not Evaluated | |
2.3.3 Animation from Interactions (Level AAA 2.1 and 2.2) | Not Evaluated | |
2.4.8 Location (Level AAA) | Not Evaluated | |
2.4.9 Link Purpose (Link Only) (Level AAA) | Not Evaluated | |
2.4.10 Section Headings (Level AAA) | Not Evaluated | |
2.4.12 Focus Not Obscured (Enhanced) (Level AAA 2.2 only) | Not Evaluated | |
2.4.13 Focus Appearance (Level AAA 2.2 only) | Not Evaluated | |
2.5.5 Target Size (Level AAA 2.1 and 2.2) | Not Evaluated | |
2.5.6 Concurrent Input Mechanisms (Level AAA 2.1 and 2.2) | Not Evaluated | |
3.1.3 Unusual Words (Level AAA) | Not Evaluated | |
3.1.4 Abbreviations (Level AAA) | Not Evaluated | |
3.1.5 Reading Level (Level AAA) | Not Evaluated | |
3.1.6 Pronunciation (Level AAA) | Not Evaluated | |
3.2.5 Change on Request (Level AAA) | Not Evaluated | |
3.3.5 Help (Level AAA) | Not Evaluated | |
3.3.6 Error Prevention (All) (Level AAA) | Not Evaluated | |
3.3.9 Accessible Authentication (Enhanced) (Level AAA 2.2 only) | Not Evaluated |