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: {queue?: boolean},
);
変更オプション付きで、スクリーンリーダーによってアナウンスされる文字列を送信します。デフォルトでは、アナウンスは既存の音声を中断しますが、iOSでは、オプションオブジェクトで queue
を true
に設定することで、既存の音声の後ろにキューイングできます。
パラメータ
名前 | 型 | 説明 |
---|---|---|
announcement 必須 | string | アナウンスされる文字列 |
options 必須 | object | queue - 既存の音声の後ろにアナウンスをキューイングしますiOS |
getRecommendedTimeoutMillis()
Android
static getRecommendedTimeoutMillis(originalTimeout: number): Promise<number>;
ユーザーが必要とするタイムアウトをミリ秒単位で取得します。この値は、「アクセシビリティ」設定の「操作までの時間(ユーザー補助タイムアウト)」で設定されます。
パラメータ
名前 | 型 | 説明 |
---|---|---|
originalTimeout 必須 | number | 「ユーザー補助タイムアウト」が設定されていない場合に返すタイムアウト。ミリ秒で指定します。 |
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}
を設定してください。