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

AccessibilityInfo

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

使用例


リファレンス

メソッド

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 を使用してください。ブール値に解決されるPromiseを返します。結果は、一部のアクセシビリティサービスが有効な場合は true、そうでない場合は false です。

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


isBoldTextEnabled()
iOS

tsx
static isBoldTextEnabled(): Promise<boolean>:

太字テキストが現在有効になっているかどうかを問い合わせます。ブール値に解決されるPromiseを返します。結果は、太字テキストが有効な場合は true、そうでない場合は false です。


isGrayscaleEnabled()
iOS

tsx
static isGrayscaleEnabled(): Promise<boolean>;

グレースケールが現在有効になっているかどうかを問い合わせます。ブール値に解決されるPromiseを返します。結果は、グレースケールが有効な場合は true、そうでない場合は false です。


isInvertColorsEnabled()
iOS

tsx
static isInvertColorsEnabled(): Promise<boolean>;

色の反転が現在有効になっているかどうかを問い合わせます。ブール値に解決されるPromiseを返します。結果は、色の反転が有効な場合は true、そうでない場合は false です。


isReduceMotionEnabled()

tsx
static isReduceMotionEnabled(): Promise<boolean>;

視差効果を減らすが現在有効になっているかどうかを問い合わせます。ブール値に解決されるPromiseを返します。結果は、視差効果を減らすが有効な場合は true、そうでない場合は false です。


isReduceTransparencyEnabled()
iOS

tsx
static isReduceTransparencyEnabled(): Promise<boolean>;

透明度を下げるが現在有効になっているかどうかを問い合わせます。ブール値に解決されるPromiseを返します。結果は、透明度を下げるが有効な場合は true、そうでない場合は false です。


isScreenReaderEnabled()

tsx
static isScreenReaderEnabled(): Promise<boolean>;

スクリーンリーダーが現在有効になっているかどうかを問い合わせます。ブール値に解決されるPromiseを返します。結果は、スクリーンリーダーが有効な場合は true、そうでない場合は false です。


prefersCrossFadeTransitions()
iOS

tsx
static prefersCrossFadeTransitions(): Promise<boolean>;

視差効果を減らすとクロスフェードトランジションを優先する設定が現在有効になっているかどうかを問い合わせます。ブール値に解決されるPromiseを返します。結果は、クロスフェードトランジションを優先する設定が有効な場合は true、そうでない場合は false です。


setAccessibilityFocus()

tsx
static setAccessibilityFocus(reactTag: number);

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

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

:アクセシビリティフォーカスを受け取りたい View には、必ず accessible={true} を設定してください。