AccessibilityInfo
デバイスに現在アクティブなスクリーンリーダーがあるかどうかを知ることが役立つ場合があります。AccessibilityInfo
API はこの目的のために設計されています。これを使用して、スクリーンリーダーの現在の状態を照会したり、スクリーンリーダーの状態が変化したときに通知を受けるように登録したりできます。
例
リファレンス
メソッド
addEventListener()
static addEventListener(
eventName: AccessibilityChangeEventName | AccessibilityAnnouncementEventName,
handler: (
event: AccessibilityChangeEvent | AccessibilityAnnouncementFinishedEvent,
) => void,
): EmitterSubscription;
イベントハンドラーを追加します。サポートされているイベント
イベント名 | 説明 |
---|---|
accessibilityServiceChanged Android | TalkBack、その他のAndroidの支援技術、サードパーティのアクセシビリティサービスなどのサービスが有効になったときに発生します。イベントハンドラーへの引数はブール値です。ブール値は、一部のアクセシビリティサービスが有効な場合はtrue 、それ以外の場合はfalse です。 |
announcementFinished iOS | スクリーンリーダーがアナウンスを完了したときに発生します。イベントハンドラーへの引数は、次のキーを持つ辞書です
|
boldTextChanged iOS | 太字テキストの切り替え状態が変更されたときに発生します。イベントハンドラーへの引数はブール値です。ブール値は、太字テキストが有効な場合はtrue 、それ以外の場合はfalse です。 |
grayscaleChanged iOS | グレースケールの切り替え状態が変更されたときに発生します。イベントハンドラーへの引数はブール値です。ブール値は、グレースケールが有効な場合はtrue 、それ以外の場合はfalse です。 |
invertColorsChanged iOS | 色の反転の切り替え状態が変更されたときに発生します。イベントハンドラーへの引数はブール値です。ブール値は、色の反転が有効な場合はtrue 、それ以外の場合はfalse です。 |
reduceMotionChanged | モーションの軽減の切り替え状態が変更されたときに発生します。イベントハンドラーへの引数はブール値です。ブール値は、モーションの軽減が有効な場合(または「開発者向けオプション」の「トランジションアニメーションスケール」が「アニメーションオフ」の場合)はtrue 、それ以外の場合はfalse です。 |
reduceTransparencyChanged iOS | 透明度の軽減の切り替え状態が変更されたときに発生します。イベントハンドラーへの引数はブール値です。ブール値は、透明度の軽減が有効な場合はtrue 、それ以外の場合はfalse です。 |
screenReaderChanged | スクリーンリーダーの状態が変更されたときに発生します。イベントハンドラーへの引数はブール値です。ブール値は、スクリーンリーダーが有効な場合はtrue 、それ以外の場合はfalse です。 |
announceForAccessibility()
static announceForAccessibility(announcement: string);
スクリーンリーダーによってアナウンスされる文字列を投稿します。
announceForAccessibilityWithOptions()
static announceForAccessibilityWithOptions(
announcement: string,
options: options: {queue?: boolean},
);
変更オプションを指定して、スクリーンリーダーによってアナウンスされる文字列を投稿します。デフォルトでは、アナウンスは既存の音声割り込みを行いますが、iOSでは、オプションオブジェクトでqueue
をtrue
に設定することで、既存の音声の後にキューに入れることができます。
パラメーター
名前 | 型 | 説明 |
---|---|---|
announcement 必須 | 文字列 | アナウンスする文字列 |
options 必須 | オブジェクト | queue - 既存の音声の後にアナウンスをキューに入れますiOS |
getRecommendedTimeoutMillis()
Android
static getRecommendedTimeoutMillis(originalTimeout: number): Promise<number>;
ユーザーが必要とするタイムアウトをミリ秒単位で取得します。この値は、「アクセシビリティ」設定の「操作にかかる時間(アクセシビリティタイムアウト)」で設定されます。
パラメーター
名前 | 型 | 説明 |
---|---|---|
originalTimeout 必須 | 数値 | 「アクセシビリティタイムアウト」が設定されていない場合に返すタイムアウト。ミリ秒単位で指定します。 |
isAccessibilityServiceEnabled()
Android
static isAccessibilityServiceEnabled(): Promise<boolean>;
アクセシビリティサービスが有効になっているかどうかを確認します。これには、TalkBackだけでなく、インストールされている可能性のあるサードパーティのアクセシビリティアプリも含まれます。TalkBackが有効になっているかどうかのみを確認するには、isScreenReaderEnabledを使用します。ブール値に解決されるPromiseを返します。結果は、一部のアクセシビリティサービスが有効な場合はtrue
、それ以外の場合はfalse
です。
注意:TalkBackのステータスのみを確認したい場合は、isScreenReaderEnabledを使用してください。
isBoldTextEnabled()
iOS
static isBoldTextEnabled(): Promise<boolean>:
太字テキストが現在有効になっているかどうかを照会します。ブール値に解決されるPromiseを返します。結果は、太字テキストが有効な場合はtrue
、それ以外の場合はfalse
です。
isGrayscaleEnabled()
iOS
static isGrayscaleEnabled(): Promise<boolean>;
グレースケールが現在有効になっているかどうかを照会します。ブール値に解決されるPromiseを返します。結果は、グレースケールが有効な場合はtrue
、それ以外の場合はfalse
です。
isInvertColorsEnabled()
iOS
static isInvertColorsEnabled(): Promise<boolean>;
色の反転が現在有効になっているかどうかを照会します。ブール値に解決されるPromiseを返します。結果は、色の反転が有効な場合はtrue
、それ以外の場合はfalse
です。
isReduceMotionEnabled()
static isReduceMotionEnabled(): Promise<boolean>;
モーションの軽減が現在有効になっているかどうかを照会します。ブール値に解決されるPromiseを返します。結果は、モーションの軽減が有効な場合はtrue
、それ以外の場合はfalse
です。
isReduceTransparencyEnabled()
iOS
static isReduceTransparencyEnabled(): Promise<boolean>;
透明度の軽減が現在有効になっているかどうかを照会します。ブール値に解決されるPromiseを返します。結果は、透明度の軽減が有効な場合はtrue
、それ以外の場合はfalse
です。
isScreenReaderEnabled()
static isScreenReaderEnabled(): Promise<boolean>;
スクリーンリーダーが現在有効になっているかどうかを照会します。ブール値に解決されるPromiseを返します。結果は、スクリーンリーダーが有効な場合はtrue
、それ以外の場合はfalse
です。
prefersCrossFadeTransitions()
iOS
static prefersCrossFadeTransitions(): Promise<boolean>;
モーションの軽減とクロスフェードトランジションの設定が現在有効になっているかどうかを照会します。ブール値に解決されるPromiseを返します。結果は、クロスフェードトランジションが有効な場合はtrue
、それ以外の場合はfalse
です。
setAccessibilityFocus()
static setAccessibilityFocus(reactTag: number);
Reactコンポーネントにアクセシビリティフォーカスを設定します。
Androidでは、渡されたreactTag
とUIManager.AccessibilityEventTypes.typeViewFocused
引数を使用して、UIManager.sendAccessibilityEvent
メソッドを呼び出します。
注:アクセシビリティフォーカスを受け取るすべての
View
にaccessible={true}
があることを確認してください。