AMP for iOS is an additional testing engine that integrates into AMP. With AMP for iOS, organizations are able to deploy automated testing of mobile iOS applications and content from within source editors for on-device testing. Organizations simply deploy a series of accessibility testing libraries within their Xcode environments in order to accomplish on-device automated testing. Testing results are then recorded within AMP to allow for additional auditing process to be performed, and to maintain testing results over time.
At the end of this testing guide, SSB has provided an example iOS application that users can download to explore the features of AMP for iOS more.
Mobile Testing for iOS User Installation Guide
- If you have not already done so, download the XCode application from the iTunes App Store and install it on your Mac.
- Log into AMP and navigate to the Toolbox tab in your instance of AMP (e.g., https://amp.ssbbartgroup.com/toolbox.php).
- Download the iOS Accessibility Test Enabler Bundle. This can be found in the AMP for iOS section of the Toolbox under the description of the product and the Active Report: AMP iOS Workspace link.
- Open XCode and either create a new project or open an existing project. Note, a sample application is provided below.
- Open the AccesibilityTestEnabler folder. There, you will see two files: the AccessibilityTestEnablement.bundle file and the libAccessibility.a file.
- Copy the the AccessibilityTestEnablement.bundle file and the libAccessibility.a file into your project. To do this, make sure both the items are selected and press the Command key while you select and drag these two files into your XCode project.
- Once you drop the items into the project, a menu should appear. Ensure that the following check boxes and radio buttons are selected as shown in the screenshot below. For destination activate the "Copy items if needed" check box, select the "Create Groups" radio button within the Added folders section and activate the "SSB BART Group Inc. Sample App" check box for the "Add to targets" section. Once the options for adding these files to your project are set, select the Finish button to complete the process.
- Your XCode project should look like this:
- Next, add all of the additionally required Frameworks.
- Select your Xcode project > General > Linked Frameworks and Libraries.
Select the Add button, you will be able to find the following frameworks to add them:
- Next, select the Build Settings tab > Linking > Other Linker Flags and add -all_load (note: screenshot may look different based on XCode Version, but the instructions remain the same; just add -all_load to 'other linker flags')
- Now launch the Xcode simulator. To do this, select the Xcode menu > Open Developer Tool > Simulator
- This will launch a window that looks like an iPhone. On the simulator screen select the "Settings" icon
- This will open the Settings screen in the simulator. From that screen, select "General" and from the resulting screen select "Accessibility".
- On the Accessibility screen slide the "Accessibility Inspector" toggle to the right to turn on the "Accessibility Inspector".
- This will result in the following little window appearing in the simulator. The "X" on this screen can be used to minimize it. This will not turn off the Accessibility Inspector.
- AMP for Mobile is now installed. Please visit the Testing with AMP for iOS article to learn how to test your application.
AMP for iOS Sample Application
Below, users interested in AMP for iOS can find a sample iOS application in .ZIP format to download. It provides easy access to the sample application, and allows users to try out AMP for iOS.
The sample application contains the following screens showcasing AMP iOS Best Practices:
- Scene 1 - Ensure controls and non-decorative content support accessibility
- Scene 2 -Provide textual equivalents for all non-text elements including sound and images
- Scene 2 - Provide explicit labels for form fields
- Scene 3 - Ensure elements are sufficiently described
- Scene 4 - Ensure all controls and non-decorative content support accessibility - Guided Automatic
- Scene 5 - Ensure elements are sufficiently described
- Scene 6 - Ensure element role and stare are correct
- Scene 7 - Ensure navigation and input focus is indicated visually and programmatically
- Scene 8 - Elements are sufficiently described
- Scene 9 - Ensure navigation and input focus is indicated visually and programmatically
- Scene 10 - Ensure text and images of text provide sufficient contrast
- Scene 11 - Ensure text and images of text provide sufficient contrast
- Scene 12 - Ensure form field constraints are clearly indicated
- Scene 13 - Ensure text and images of text provide sufficient contrast
- Scene 14 - Ensure elements are sufficiently described
- Scene 15 - Provide an input type for text input fields
- Scene 16 - Ensure container view itself is not accessible
- Scene 17 - Ensure all controls and non-decorative content support accessibility
- Scene 18 - Ensure accessibility is initialized for contained elements and container element count is correct
- Scene 19 - Provide a clear title for all screens
- Scene 20 - Ensure changes in natural language are supported
- Scene 21 - Provide for user control of font size
- Scene 22 - Provide a text transcript for audio only presentations
- Scene 23 - Provide text transcript or audio track of video only presentations
- Scene 24 - Provide a non-animated method to skip through/control animation
- Scene 25 - Provide sufficient size for touch screen elements
- Scene 26 - Provide inactive space around touch elements