iOS Accessibilty Debugger
Automatically discover accessibility issues in your native iOS app and generate complete reports
How it works
This product consists of 2 parts. An SDK that is built into the dev version of your app, and a desktop client which allows you to see all the accessibility issues.
STEP 1Build your dev app with the Evinced SDK
Easy process via Swift or CocoaPod packages
STEP 2Install the Evinced Desktop app
Install the desktop client for Mac or Windows and log in.
STEP 3Pair your phone and the desktop
Scan a QR code or manually enter the IP.
STEP 4Browse your app
See accessibility results on each screen.
STEP 5Export results
Screenshots, detailed descriptions, how to fix etc.
Zero in on critical accessibility issues - nothing else.
Built for: iOS developers and testers.
Technology Summary
Legacy iOS accessibility products rely on the native Accessibility API. This is helpful, but in a way only explains the existing accessibility profile of your app.
Evinced on the other hand, doesn’t depend only on the Accessibility API - it also visually analyzes the full View Hierarchy with class names of the views and screenshots. This enables a much deeper analysis of potential accessibility issues - akin to what one would uncover with manual VoiceOver testing.
The SDK, injected into the dev build of an app, sends the data to an Electron based desktop client via the local network using websockets. The desktop client then receives the data and performs a set of validations to detect any potential accessibility issues. The desktop client also handles report generation, exporting results etc.
Currently, Evinced supports the following validations with a lot more coming. For more information, please check out our Knowledge Base
type | description |
---|---|
WRONG_SEMANTIC_ROLE | Interactable UI elements missing trait definition (won’t be able to interact with VO) |
NO_DESCRIPTIVE_TEXT | No accessible label/label is wrongly derived |
COLOR_CONTRAST | Insufficient color contrast |
NOT_FOCUSABLE | Interactable UI elements that are not accessible to VO rotor |
NO_INVISIBLE_INDICATION (Coming soon) | Interactable UI elements accessible to VO but not to regular user (VO should skip) |
WRONG_FOCUS_ORDER (Coming soon) | Interactable UI elements VO rotor order is different from visual order |
VO_GESTURE_CONFLICT (Coming soon) | Interactable UI element hit target conflicts with other interactable UI element |
INTERACTABLE_HIT_TARGET_SIZE (Coming soon) | nteractable UI element hit target is too small (best practice) |