メインコンテンツへスキップ

AccessibilityInfo

デバイスで現在スクリーンリーダーが有効になっているかどうかを知ることが役立つ場合があります。AccessibilityInfo API はこの目的のために設計されています。現在のスクリーンリーダーの状態を照会したり、スクリーンリーダーの状態が変更されたときに通知を受け取るように登録したりするために使用できます。


リファレンス

Methods

addEventListener()

tsx
static addEventListener(
eventName: AccessibilityChangeEventName | AccessibilityAnnouncementEventName,
handler: (
event: AccessibilityChangeEvent | AccessibilityAnnouncementFinishedEvent,
) => void,
): EmitterSubscription;

イベントハンドラを追加します。サポートされているイベント

イベント名説明
accessibilityServiceChanged
Android
TalkBack、その他の Android 補助テクノロジー、およびサードパーティのアクセシビリティサービスなどの一部のサービスが有効になったときに発生します。イベントハンドラへの引数はブール値です。一部のアクセシビリティサービスが有効な場合は true、それ以外の場合は false です。
announcementFinished
iOS
スクリーンリーダーがアナウンスを終了したときに発生します。イベントハンドラの引数は、次のキーを持つ辞書です。
  • announcement: スクリーンリーダーによってアナウンスされた文字列。
  • success: アナウンスが正常に行われたかどうかを示すブール値。
boldTextChanged
iOS
太字テキストの切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。太字テキストが有効な場合は true、それ以外の場合は false です。
grayscaleChanged
iOS
グレースケール切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。グレースケールが有効な場合は true、それ以外の場合は false です。
invertColorsChanged
iOS
色の反転切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。色の反転が有効な場合は true、それ以外の場合は false です。
reduceMotionChangedモーションを減らす切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。モーションを減らすが有効な場合 (または「開発者オプション」の「トランジションアニメーションスケール」が「アニメーションオフ」の場合) は true、それ以外の場合は false です。
reduceTransparencyChanged
iOS
透明度を減らす切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。透明度を減らすが有効な場合は true、それ以外の場合は false です。
screenReaderChangedスクリーンリーダーの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。スクリーンリーダーが有効な場合は true、それ以外の場合は false です。

announceForAccessibility()

tsx
static announceForAccessibility(announcement: string);

スクリーンリーダーによってアナウンスされる文字列を投稿します。


announceForAccessibilityWithOptions()

tsx
static announceForAccessibilityWithOptions(
announcement: string,
options: {queue?: boolean},
);

変更オプション付きでスクリーンリーダーによってアナウンスされる文字列を投稿します。デフォルトでは、アナウンスは既存の音声を中断しますが、iOS では、オプションオブジェクトで queuetrue に設定することで、既存の音声の後にキューに入れることができます。

パラメータ

名前説明
announcement
必須
stringアナウンスされる文字列
options
必須
objectqueue - 既存の音声の後にアナウンスをキューに入れる
iOS

getRecommendedTimeoutMillis()
Android

tsx
static getRecommendedTimeoutMillis(originalTimeout: number): Promise<number>;

ユーザーが必要とするタイムアウトをミリ秒単位で取得します。この値は、「アクセシビリティ」設定の「操作を行うまでの時間(アクセシビリティタイムアウト)」で設定されます。

パラメータ

名前説明
originalTimeout
必須
number「アクセシビリティタイムアウト」が設定されていない場合に返すタイムアウト。ミリ秒単位で指定します。

isAccessibilityServiceEnabled()
Android

tsx
static isAccessibilityServiceEnabled(): Promise<boolean>;

アクセシビリティサービスが有効になっているかどうかを確認します。これには TalkBack だけでなく、インストールされている可能性のあるサードパーティのアクセシビリティアプリも含まれます。TalkBack のみが有効になっているかどうかを確認するには、isScreenReaderEnabled を使用します。ブール値に解決されるプロミスを返します。結果は、一部のアクセシビリティサービスが有効な場合は true、それ以外の場合は false です。

TalkBack の状態のみを確認したい場合は、isScreenReaderEnabled を使用してください。


isBoldTextEnabled()
iOS

tsx
static isBoldTextEnabled(): Promise<boolean>:

太字テキストが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、太字テキストが有効な場合は true、それ以外の場合は false です。


isGrayscaleEnabled()
iOS

tsx
static isGrayscaleEnabled(): Promise<boolean>;

グレースケールが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、グレースケールが有効な場合は true、それ以外の場合は false です。


isInvertColorsEnabled()
iOS

tsx
static isInvertColorsEnabled(): Promise<boolean>;

色の反転が現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、色の反転が有効な場合は true、それ以外の場合は false です。


isReduceMotionEnabled()

tsx
static isReduceMotionEnabled(): Promise<boolean>;

モーションを減らすが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、モーションを減らすが有効な場合は true、それ以外の場合は false です。


isReduceTransparencyEnabled()
iOS

tsx
static isReduceTransparencyEnabled(): Promise<boolean>;

透明度を減らすが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、透明度を減らすが有効な場合は true、それ以外の場合は false です。


isScreenReaderEnabled()

tsx
static isScreenReaderEnabled(): Promise<boolean>;

スクリーンリーダーが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、スクリーンリーダーが有効な場合は true、それ以外の場合は false です。


prefersCrossFadeTransitions()
iOS

tsx
static prefersCrossFadeTransitions(): Promise<boolean>;

モーションを減らすおよびクロスフェードトランジションを優先する設定が現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、クロスフェードトランジションを優先するが有効な場合は true、それ以外の場合は false です。


setAccessibilityFocus()

tsx
static setAccessibilityFocus(reactTag: number);

React コンポーネントにアクセシビリティフォーカスを設定します。

Android では、これは渡された reactTagUIManager.AccessibilityEventTypes.typeViewFocused 引数を使用して UIManager.sendAccessibilityEvent メソッドを呼び出します。

アクセシビリティフォーカスを受け取りたいすべての Viewaccessible={true} が設定されていることを確認してください。