WWDC 2022: Create accessible Single App Mode experiences

This video available on the official Apple website (session 10152) introduces different ways to get more control and accessibility to people using apps in Single App Mode.




The outlines of this speech are indicated hereunder:


Most of the illustrations are parts of the Apple presentations and may be available at the Resources section inside the Overview sheet of each video.

Hereafter, the underlined elements lead directly to the playback of the WWDC video at the appropriate moment.

Single App Modes are the appropriate ways to limit some entitlements for accessing other functions of the used device and to confine the usage to a dedicated app.

This utilization may be particularly useful in different areas where an app is introduced with no choice for the users to reach more information outside the suggested domain.

The first mode that's available directly from the settings for any user is the guided access.

Guided access #

🎬

This feature provides a controlled environment with restrictive entitlements.

The specific way to turn it on and to turn it off comes with many options to tailor the behavior as desired.

🎬

Guided access is a powerful configurable feature that enables an accurate adjustement of the app area regarding a particular type of users for instance.

🎬

The main milestone of this implementation relies on the conformance to the UIGuidedAccessRestrictionDelegate protocol in the AppDelegate.

The UIAccessibility API collection offers a type method to check if a custom restriction is enabled.



Guided Access is the cornerstone of single app modes programmatically initiated from within an app.

Single app modes #

The main difference beetween these three modes and the guide access feature is the way to make the mode appear: only with programming code in these cases.

🎬

The supervision of the device that embraces this feature may be done thanks to the Apple Configurator app.

🎬

Few lines of code permit the entering and the exiting of this feature.

The UIAccessibility API collection offers efficient elements to check and observe any modifications on this mode.

"The app which wants to use this API must have the proper supervision and management, including allowlisting the app's bundle ID as an allowed application for Autonomous Single App Mode"⟹ 🎬

🎬

This mode is used to deliver tests and assess students across all devices that don't need to be supervised unlike the other two previous modes.

To use the Automatic Assessment Configuration framework, it's mandatory to apply to Apple for an assessment entitlement regarding the intended app.



Accessibility API #

It's possible to turn on or off some of the accessibility features to improve the user experience.

This configuration may be performed through the Apple Configurator software for instance but it must be done before entering the mode itself.

This kind of use can also be done by means of a dedicated type method so as to enable or disable the specified accessibility features during Single App Mode.