-
Affinez l’accessibilité pour les commandes personnalisées
Libérez tout le potentiel des éléments interactifs de votre app en les rendant accessibles à tous. Nous analysons comment les utilisateurs comprennent et utilisent les commandes avec VoiceOver et d'autres technologies d'assistance, en explorant différentes méthodes d'entrée telles que les actions, le geste en passthrough et le toucher direct. Rejoignez-nous pour une exploration approfondie de plusieurs exemples de commandes, alors que nous affinons et améliorons l'expérience d'accessibilité dans chacune d'entre elles.
Chapitres
- 0:01 - Introduction
- 1:02 - Principes directeurs
- 8:41 - Contrôles complexes
Ressources
Vidéos connexes
WWDC24
-
Rechercher dans cette vidéo…
-
-
5:01 - Improve accessibility for coffee dispenser
// Improve accessibility for coffee dispenser import SwiftUI struct CoffeeDispenserView: View { @State var coffee: Double = 0.0 var body: some View { CoffeeSlider(value: coffee) .accessibilityElement() .accessibilityLabel("Coffee Dispenser") .accessibilityValue("\(Int(coffee)) ounces") .accessibilityAddTraits(.adjustable) .accessibilityAdjustableAction { direction in switch direction { case .increment: increaseCoffeeAmount() case .decrement: decreaseCoffeeAmount() } } } } -
7:05 - Set the accessibility activation point
// Set the accessibility activation point import SwiftUI struct CoffeeDispenserView: View { @State var coffee: Double = 0.0 var body: some View { CoffeeSlider(value: coffee) .accessibilityActivationPoint( UnitPoint(x: 0.5, y: 1 - coffee) ) } } -
7:27 - Post accessibility announcements
// Post accessibility announcements import SwiftUI struct CoffeeDispenserView: View { @State var coffee: Double = 0.0 var body: some View { CoffeeSlider(value: coffee) // ... .onChange(of: coffee) { _, newValue in if sufficientTimeSinceLastAnnouncement() && valueHasChanged() { cacheLastSpokenValue(newValue) AccessibilityNotification .Announcement(newValue) .post() } } } } -
10:13 - Add custom actions
// Add custom actions import SwiftUI struct EqualizerView: View { var body: some View { EqualizerPad() .accessibilityActions("Move Up") { increaseY(by: 10) } .accessibilityActions("Move Right") { increaseX(by: 10) } .accessibilityActions("Move Down") { decreaseY(by: 10) } .accessibilityActions("Move Left") { decreaseX(by: 10) } } } -
12:47 - Customize accessibility for the interactive cat surface
// Customize accessibility for the interactive cat surface import SwiftUI struct VirtualCat: View { var cat: CatModel var body: some View { InteractiveCatSurface() .accessibilityLabel("Virtual Cat") .accessibilityValue(cat.currentReaction.description) .accessibilityDirectTouch([.requiresActivation]) } }
-