Accessibility Technologies
Unofficial AI summary of the WWDC26 group lab. May contain mistakes.
What's new in accessibility features?
- Apple Intelligence is integrated into accessibility features, enhancing VoiceOver image descriptions, live recognition, personalized accessibility reader, and voice control.
- Automatic subtitles for personal videos are now available.
- Vehicle motion cues have been extended to visionOS with spatialization.
What is the best advice for testing UI usability and accessibility?
- Use Accessibility Inspector to audit elements and Device Hub for testing across different screen sizes.
- Consider Dynamic Type and Large Text, ensuring the UI lays out dynamically based on font size.
- Test with VoiceOver first, as it often provides significant accessibility benefits that carry over to other assistive technologies.
- Incorporate feedback from real users to polish the accessibility experience.
How should developers prioritize accessibility testing when they can't test every assistive technology?
- Prioritize VoiceOver testing as it's approachable and often provides benefits for other assistive technologies like Switch Control and Voice Control.
- Many assistive technologies share underlying APIs (e.g.,
accessibilityLabel), meaning a good VoiceOver experience often translates to good experiences for others. - If resources allow, test other technologies, but a strong VoiceOver implementation is a solid foundation.
- Gathering feedback from real users can significantly help refine the accessibility experience.
How can VoiceOver avoid reading both a custom label and the system image description?
- Remove the
imagetrait from the element. VoiceOver will then use the provided accessibility label without appending its own description. - When developers keep the
imagetrait, VoiceOver plays a subtle sound before the auto-generated description so users can distinguish it from author-provided alt text. - Be aware that removing the image trait may disable features like image exploration and the ability for users to ask follow-up questions about the image.
What new accessibility features can help patients using an EHR patient portal?
- Accessibility Reader: A system-wide tool for customizing reading experiences, especially for long-form content, and integrated with spoken content.
- Image Descriptions and Image Explorer: Useful for describing data-rich images and charts within the portal.
What are the first steps for making a data-rich app accessible?
- Start with Dynamic Type, as many users benefit from adjustable font sizes.
- Implement VoiceOver support, which provides significant accessibility wins.
- Continue by adding accessibility labels and refining the application's VoiceOver experience.
How can network request progress be exposed to VoiceOver?
- Use
layoutChangedorscreenChangednotifications to inform VoiceOver about UI changes. layoutChangedis suitable for smaller UI updates, whilescreenChangedis for more significant screen alterations.- Developers can optionally use
accessibilityElementwithlayoutChangedto direct VoiceOver focus, but use this sparingly to avoid disrupting the user's focus. - Alternatively, use
accessibilityAnnounceNotificationwith a descriptive string to have VoiceOver speak the completion message.
Are there any updates to the Text-to-Speech APIs this year?
- There are no new Text-to-Speech APIs announced this year, but backend improvements may exist.
- Developers are encouraged to file feedback requests for new API features.
What should tvOS developers consider when implementing Dynamic Type?
- Familiarize yourself with best practices for Large Text and how UI flow might need to adapt for accessibility font sizes.
- Watch the WWDC session on Large Text and tvOS for specific guidance.
- Previous talks on Large Text for iOS can also provide a good starting point.
How valuable are Accessibility Nutrition Labels, and what details should developers know?
- For Users: Nutrition labels allow users to understand an app's accessibility features before downloading, saving time and reducing cognitive load.
- For Developers: They provide a way to showcase accessibility efforts and distinguish their apps. They also come with guidelines that serve as a benchmark for testing and improvement.
- The labels can be a powerful tool for advocating for accessibility within organizations.
Is the VoiceOver option in Xcode's Device Hub intended for simulators or physical devices?
- A new XCTest API allows testing VoiceOver on iOS devices from a Mac.
- This functionality is expected to work in the simulator starting with Seed 1.
- For specific details and further questions, consult the developer forums.
What should developers revisit for macOS VoiceOver support, and how should they test across assistive technologies on Mac?
- User Expectations: Mac users often multitask and have higher expectations for keyboard shortcuts and accelerators.
- Accelerators: Implement features like hotkeys for quick navigation to different app sections (e.g., sidebar, inspector).
- Testing: Use the Accessibility Shortcut (Command+F5 on macOS, Command+Option+F5 when Touch ID isn't available, triple-click Touch ID if available) to quickly toggle accessibility features on and off.
- New Features: macOS apps automatically benefit from new VoiceOver features like image descriptions.
- See the Improving Mac accessibility session for grouping and navigation guidance.
How can custom AppKit controls (context menus, hover actions, custom buttons) be made accessible to VoiceOver users on macOS?
- Custom Actions: A primary method, but can be less discoverable for Mac users. Consider them for advanced features.
- Additional Buttons: Create separate buttons for critical actions, especially hover actions.
- Accessibility Representation (SwiftUI concept): While the question is AppKit-specific, the principle applies: expose complex controls as multiple simpler accessibility elements. In AppKit, this involves implementing
accessibilityChildrenand creating custom accessibility elements. - Hotkeys: Implement keyboard shortcuts for discoverability and efficiency, benefiting both VoiceOver and power users.
- Hover Actions: Use sparingly, as they can be difficult to discover, especially for users with cognitive impairments. Reserve them for secondary actions or enhancements.
How does Apple design accessibility features for people with limited or no use of their hands or arms?
- Interaction Methods: Offers diverse options beyond hands, including Voice Control, Head Tracking, Eye Tracking, Sound Actions, and Switch Control.
- Touch Accommodations: Provides features like AssistiveTouch and new setup flows for iOS 27 that calibrate touch responses for personalized interaction.
- On-Device Eye Tracking: Enables interaction using the built-in camera, offering a simpler setup than external eye trackers.
- Personalization: Recognizes that solutions vary greatly even for individuals with the same disability, offering a wide array of technologies to accommodate different needs and preferences.
What accessibility features are designed with neurodivergent people in mind?
- Guided Access: Helps users stay within a single app or experience, preventing accidental navigation away.
- Assistive Access: Offers a simplified visual interface with larger icons, text, and touch targets, focusing on core controls. This is available for first-party apps and via APIs for developers.
- See the Assistive Access for developers session for building simplified app experiences.
- Other Helpful Features: Screen Time, Speak Screen, Speak Selection, and Accessibility Reader can also be beneficial.
How can the new reorderable modifier in SwiftUI be made accessible to VoiceOver users?
- Drag and drop is not a standard VoiceOver idiom.
- The accessibility of the reorderable modifier with VoiceOver is still under investigation and may vary between platforms (iOS vs. macOS).
- This is a good question for the developer forums.
How can third-party apps integrate with the new FaceTime video interpreting feature?
- The video interpreting feature is not yet available in the iOS 27 beta.
- More information on integration, initiation, entitlements, and API restrictions will be provided when the APIs become available.
What is the recommended way to expose stable accessibility identifiers for custom SwiftUI reusable views?
- Create a wrapper around reusable views (like labels or buttons) that requires users to provide an
accessibilityIdentifierandaccessibilityLabel. - Implement checks to prevent nil accessibility labels, enforcing concrete labels for testing and stability.
- For symbols and buttons, require both an accessibility label and an identifier.
What process builds accessibility into an app from the start?
- Early Consideration: Integrate accessibility from day one, rather than adding it later.
- Basic Checks: Regularly check UI elements with VoiceOver and research how users of different assistive technologies interact with similar apps.
- Usability Research: Conduct research with real users to gather valuable suggestions and insights.
- Team Integration:
- Human Connection: Show developers how accessibility issues directly impact users by demonstrating real-world problems.
- Iteration: Build accessibility into every iteration of the development process, not as a separate phase.
- Planning: Include accessibility as a key category alongside security and privacy in project planning.
- Prototyping: Ensure prototypes incorporate accessibility from the design phase.
- Refinement: Allocate time at the end of the project for fine-tuning accessibility features after the UI is solidified.
- Criticality over Utilization: When prioritizing features, consider the criticality of accessibility to users, not just the number of users who might benefit.
What platform-specific pitfalls should developers look out for when creating universal apps with accessibility in mind?
- Platform Testing: Test accessibility features (like VoiceOver) individually on each platform (macOS, iPadOS, watchOS, tvOS) as user expectations and interaction models differ.
- User Expectations: Mac users expect more keyboard shortcuts and accelerators compared to iOS users.
- Interaction Modalities: Consider the primary input methods for each platform: keyboard (Mac), touch (iOS/iPadOS), remote (tvOS), Digital Crown (watchOS), and eye/gaze tracking (visionOS).
- Hit Testing vs. Child Order: Hit testing is more critical on iOS for VoiceOver, while accessibility child order is more important on macOS.
- Navigation: Mac VoiceOver navigation is hierarchical, while iOS is linear. Grouping elements is crucial for efficient Mac navigation.
Will the new AI voices be available for VoiceOver?
- The voices used for VoiceOver are specifically tailored and tuned for screen reader use.
- Users of VoiceOver often increase speech rate, which influences voice selection and tuning.
How can accessibility regressions be prevented besides manual testing?
- Automated Testing: Use XCUI tests, which rely on the accessibility hierarchy. If an app is not accessible, XC tests will fail.
- Accessibility Assertions: Add assertions in XC tests to check for
accessibilityLabelpresence or other accessibility properties. - New XCTest API: A new API allows programmatic control of VoiceOver for element-by-element navigation and validation, enabling smoke tests for accessibility.
What accessibility improvements are available in Xcode and developer tools this year, especially for blind developers?
- Terminal Accessibility: Improved VoiceOver support for Terminal, including better access to marks, tab autocomplete suggestions, and moving to the visible beginning.
- Xcode Bug Fixes: Numerous bug fixes for VoiceOver in Xcode are available in Seed 1.
- SwiftUI: Levels the playing field by allowing all developers, including those using VoiceOver, to define and edit UI in code.
- Xcode Rotors (macOS): Enhanced rotors allow quick navigation between methods, errors, warnings, and variable names within Xcode.
- AI Coding Assistant: New AI skills in Xcode (Seed 1) for VoiceOver and Dynamic Type can help developers make their apps accessible by suggesting code edits and identifying issues.
- AI for Efficiency: AI tools can help developers scan and summarize code, potentially leveling the playing field for those with vision or cognitive impairments.
For spatial computing tools using eye tracking or gaze (like visionOS), how can designers avoid assuming visual gaze is the primary input method?
- Pointer Control: visionOS offers Pointer Control, allowing users to use other body parts (head, finger, wrist) as pointers instead of gaze.
- Comprehensive Sessions: WWDC sessions cover these topics in detail, including making RealityKit content accessible.