AccessibilityInfo
デバイスで現在スクリーンリーダーが有効になっているかどうかを知ることが役立つ場合があります。AccessibilityInfo API はこの目的のために設計されています。現在のスクリーンリーダーの状態を照会したり、スクリーンリーダーの状態が変更されたときに通知を受け取るように登録したりするために使用できます。
例
リファレンス
Methods
addEventListener()
static addEventListener(
eventName: AccessibilityChangeEventName | AccessibilityAnnouncementEventName,
handler: (
event: AccessibilityChangeEvent | AccessibilityAnnouncementFinishedEvent,
) => void,
): EmitterSubscription;
イベントハンドラを追加します。サポートされているイベント
| イベント名 | 説明 |
|---|---|
accessibilityServiceChangedAndroid | TalkBack、その他の Android 補助テクノロジー、およびサードパーティのアクセシビリティサービスなどの一部のサービスが有効になったときに発生します。イベントハンドラへの引数はブール値です。一部のアクセシビリティサービスが有効な場合は true、それ以外の場合は false です。 |
announcementFinishediOS | スクリーンリーダーがアナウンスを終了したときに発生します。イベントハンドラの引数は、次のキーを持つ辞書です。
|
boldTextChangediOS | 太字テキストの切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。太字テキストが有効な場合は true、それ以外の場合は false です。 |
grayscaleChangediOS | グレースケール切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。グレースケールが有効な場合は true、それ以外の場合は false です。 |
invertColorsChangediOS | 色の反転切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。色の反転が有効な場合は true、それ以外の場合は false です。 |
reduceMotionChanged | モーションを減らす切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。モーションを減らすが有効な場合 (または「開発者オプション」の「トランジションアニメーションスケール」が「アニメーションオフ」の場合) は true、それ以外の場合は false です。 |
reduceTransparencyChangediOS | 透明度を減らす切り替えの状態が変更されたときに発生します。イベントハンドラの引数はブール値です。透明度を減らすが有効な場合は 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 を使用します。ブール値に解決されるプロミスを返します。結果は、一部のアクセシビリティサービスが有効な場合は true、それ以外の場合は false です。
TalkBack の状態のみを確認したい場合は、isScreenReaderEnabled を使用してください。
isBoldTextEnabled() iOS
static isBoldTextEnabled(): Promise<boolean>:
太字テキストが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、太字テキストが有効な場合は true、それ以外の場合は false です。
isGrayscaleEnabled() iOS
static isGrayscaleEnabled(): Promise<boolean>;
グレースケールが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、グレースケールが有効な場合は true、それ以外の場合は false です。
isInvertColorsEnabled() iOS
static isInvertColorsEnabled(): Promise<boolean>;
色の反転が現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、色の反転が有効な場合は true、それ以外の場合は false です。
isReduceMotionEnabled()
static isReduceMotionEnabled(): Promise<boolean>;
モーションを減らすが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、モーションを減らすが有効な場合は true、それ以外の場合は false です。
isReduceTransparencyEnabled() iOS
static isReduceTransparencyEnabled(): Promise<boolean>;
透明度を減らすが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、透明度を減らすが有効な場合は true、それ以外の場合は false です。
isScreenReaderEnabled()
static isScreenReaderEnabled(): Promise<boolean>;
スクリーンリーダーが現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、スクリーンリーダーが有効な場合は true、それ以外の場合は false です。
prefersCrossFadeTransitions() iOS
static prefersCrossFadeTransitions(): Promise<boolean>;
モーションを減らすおよびクロスフェードトランジションを優先する設定が現在有効になっているかどうかを照会します。ブール値に解決されるプロミスを返します。結果は、クロスフェードトランジションを優先するが有効な場合は true、それ以外の場合は false です。
setAccessibilityFocus()
static setAccessibilityFocus(reactTag: number);
React コンポーネントにアクセシビリティフォーカスを設定します。
Android では、これは渡された reactTag と UIManager.AccessibilityEventTypes.typeViewFocused 引数を使用して UIManager.sendAccessibilityEvent メソッドを呼び出します。
アクセシビリティフォーカスを受け取りたいすべての View に accessible={true} が設定されていることを確認してください。