構造体


AccessibilityFocusState


VoiceOver などのアクティブなアクセシビリティ技術のフォーカスが変更されると、SwiftUI が更新する値を読み書きできるプロパティラッパータイプ。



iOS 15.0+ iPadOS 15.0+ macOS 12.0+ Mac Catalyst 15.0+

tvOS 15.0+ watchOS 8.0+ visionOS 1.0+


0@propertyWrapper @frozen
struct
AccessibilityFocusState<Value> where Value : Hashable






概観


この機能を使用して、VoiceOver またはその他のアクセシビリティ技術がプログラムによって特定の要素に焦点を当てるように要求したり、VoiceOver またはその他のアクセシビリティ技術が特定の要素に焦点を当てているかどうかを判断したりできます。 accessibilityFocused(_:equals:) または accessibilityFocused(_:) をこのプロパティラッパーと組み合わせて使用して、アクセシビリティフォーカスを取得または設定したいアクセシビリティ要素を識別します。アクセシビリティフォーカスが、変更されたアクセシビリティ要素に入ると、フレームワークは、与えられたプロトタイプ値と一致するように、このプロパティのラップされた値を更新します。アクセシビリティのフォーカスが離れると、SwiftUI は optional のプロパティのラップされた値を nil にリセットするか、ブール型プロパティのラップされた値を false にリセットします。プロパティの値をプログラム的に設定すると逆の効果があり、更新された値に関連したアクセシビリティ要素にアクセシビリティフォーカスが移動します。

以下の例では、notification (通知)が変更され、その isPriority プロパティが true の場合、アクセシビリティフォーカスはビューのコンテンツの残りの上にある通知 Text 要素に移動します。


  1. struct CustomNotification: Equatable {
  2. var text: String
  3. var isPriority: Bool
  4. }
  5. struct ContentView: View {
  6. @Binding var notification: CustomNotification?
  7. @AccessibilityFocusState var isNotificationFocused: Bool
  8. var body: some View {
  9. VStack {
  10. if let notification = self.notification {
  11. Text(notification.text)
  12. .accessibilityFocused($isNotificationFocused)
  13. }
  14. Text("The main content for this view.")
  15. }
  16. .onChange(of: notification) { notification in
  17. if (notification?.isPriority == true) {
  18. isNotificationFocused = true
  19. }
  20. }
  21. }
  22. }


アクセシビリティ要素のツリーにアクセシビリティフォーカスが全く存在しない場合、またはアクセシビリティ技術がアクティブでない場合を考慮して、ラップされた値は optional またはブール値でなければなりません。


AccessibilityFocusState の一部のイニシャライザでは、アクセシビリティ技術を指定して、この結合が適用されるアクセシビリティフォーカスの型を決定することもできます。アクセシビリティ技術を指定しない場合、SwiftUI はアクティブなすべてのアクセシビリティ技術の any と全ての集合体を使用します。






トピックス


フォーカス状態の作成


init<T>()

提供した型の新しいアクセシビリティフォーカス状態を作成します。


init()

ブール値の新しいアクセシビリティフォーカス状態を作成します。


init<T>(for: AccessibilityTechnologies)

あなたが指定した型のアクセシビリティ技術を使用して、新しいアクセシビリティフォーカス状態を作成します。


init(for: AccessibilityTechnologies)

あなたが指定したアクセシビリティ技術を使用して、ブール値の新しいアクセシビリティフォーカス状態を作成します。



状態の取得


var projectedValue: AccessibilityFocusState<Value>.Binding

ビューの内容とアクセシビリティフォーカスの配置の間の結合を確立するために使用できる状態値の投影。


var wrappedValue: Value

現在のフォーカス位置により有効になる可能性のある結合を考慮した現在の状態値。


struct Binding



関連


以下への準拠


DynamicProperty

Sendable






以下も見よ


フォーカスの制御


func accessibilityFocused(AccessibilityFocusState<Bool>.Binding) -> some View

アクセシビリティ要素のフォーカス状態を与えられたブール値の状態に結合することにより、このビューを変更します。


func accessibilityFocused<Value>(AccessibilityFocusState<Value>.Binding, equals: Value) -> some View

アクセシビリティ要素のフォーカス状態を与えられた状態値に結合することで、このビューを変更します。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ