XCode 26.4 日本語化計画
元のドキュメント: developer.apple.com/documentation/swiftui/accessibilityfocusstate
VoiceOver などのアクティブなアクセシビリティ技術の焦点が変更されると、SwiftUI が更新する値を読み書きできるプロパティラッパー型。
この機能を使用すると、VoiceOver などのアクセシビリティ技術に特定の要素にプログラムでフォーカスを当てるよう要求したり、VoiceOver などのアクセシビリティ技術が特定の要素にフォーカスを当てているかどうかを判断したりできます。アクセシビリティフォーカスを取得または設定するアクセシビリティ要素を識別するには、このプロパティラッパーと組み合わせて accessibilityFocused(_:equals:) または accessibilityFocused(_:) を使用して下さい。アクセシビリティフォーカスが変更されたアクセシビリティ要素に入ると、フレームワークはこのプロパティのラップされた値を与えられたプロトタイプ値に一致するように更新します。アクセシビリティフォーカスが要素を離れると、SwiftUI はオプションプロパティのラップされた値を nil に、またはブール型プロパティのラップされた値を false にリセットします。プロパティの値をプログラムで設定すると、逆の効果が得られ、アクセシビリティフォーカスはどれであれ更新された値に関連するアクセシビリティ要素に移動します。
以下の例では、notification が変更され、その isPriority プロパティが true の場合、アクセシビリティフォーカスはビューの他のコンテンツの上にある通知の Text 要素に移動します。
struct CustomNotification: Equatable {
var text: String
var isPriority: Bool
}
struct ContentView: View {
@Binding var notification: CustomNotification?
@AccessibilityFocusState var isNotificationFocused: Bool
var body: some View {
VStack {
if let notification = self.notification {
Text(notification.text)
.accessibilityFocused($isNotificationFocused)
}
Text("The main content for this view.")
}
.onChange(of: notification) { notification in
if (notification?.isPriority == true) {
isNotificationFocused = true
}
}
}
}
ブール値に対して、新しいアクセシビリティフォーカス状態を作成します。
あなたの指定したアクセシビリティ技術を使用して、ブール値に対する新しいアクセシビリティフォーカス状態を作成します。
var projectedValue: AccessibilityFocusState<Value>.Binding
ビューの内容とアクセシビリティフォーカスの配置の間の結合を確立するために使用できる状態値の投影。
現在のフォーカス位置により有効になる可能性のある結合を考慮した現在の状態値。
DynamicProperty
SendableMetatype
func accessibilityFocused(AccessibilityFocusState<Bool>.Binding) -> some View
このビューのアクセシビリティ要素のフォーカス状態を、与えられたブール状態値に結合することで、このビューを変更します。
struct AccessibilityFocusState
VoiceOver などのアクティブなアクセシビリティ技術の焦点が変更されると、SwiftUI が更新する値を読み書きできるプロパティラッパー型。