---
description: Capacitor plugin to read the user's system accessibility preferences such as font scale, reduce motion, and contrast on Android, iOS, and the Web.
title: Capacitor Accessibility Preferences Plugin - Capawesome
image: https://capawesome.io/docs/assets/images/social/sdks/capacitor/accessibility-preferences.png
---

<!doctype html> 

[Skip to content ](#capacitor-accessibility-preferences-plugin) 

[🔐 Introducing the **Capacitor Vault** plugin — store secrets behind biometrics or a device passcode. ](/blog/announcing-the-capacitor-vault-plugin/) 

* [ SDKs ](/docs/sdks/)
* [ Platform Availability ](#platform-availability)
* [ Changelog ](#changelog)
* [ License ](#license)
* [ Age Signals ](/docs/sdks/capacitor/age-signals/)
* [ Android Battery Optimization ](/docs/sdks/capacitor/android-battery-optimization/)
* [ Android Dark Mode Support ](/docs/sdks/capacitor/android-dark-mode-support/)
* [ Android Edge-to-Edge Support ](/docs/sdks/capacitor/android-edge-to-edge-support/)
* [ Android Foreground Service ](/docs/sdks/capacitor/android-foreground-service/)
* [ Android SMS Retriever ](/docs/sdks/capacitor/android-sms-retriever/)
* [ App Icon ](/docs/sdks/capacitor/app-icon/)
* [ App Integrity ](/docs/sdks/capacitor/app-integrity/)
* [ App Language ](/docs/sdks/capacitor/app-language/)
* [ App Review ](/docs/sdks/capacitor/app-review/)
* [ App Shortcuts ](/docs/sdks/capacitor/app-shortcuts/)
* [ App Tracking Transparency ](/docs/sdks/capacitor/app-tracking-transparency/)
* [ App Update ](/docs/sdks/capacitor/app-update/)
* [ Apple Sign-In ](/docs/sdks/capacitor/apple-sign-in/)
* [ Asset Manager ](/docs/sdks/capacitor/asset-manager/)
* [ Audio Player ](/docs/sdks/capacitor/audio-player/)
* [ Audio Recorder ](/docs/sdks/capacitor/audio-recorder/)
* [ Audio Session ](/docs/sdks/capacitor/audio-session/)
* [ Background Task ](/docs/sdks/capacitor/background-task/)
* [ Badge ](/docs/sdks/capacitor/badge/)
* [ Barometer ](/docs/sdks/capacitor/barometer/)
* [ Battery ](/docs/sdks/capacitor/battery/)
* [ Biometrics ](/docs/sdks/capacitor/biometrics/)
* [ Bluetooth Low Energy ](/docs/sdks/capacitor/bluetooth-low-energy/)
* [ Cloudinary ](/docs/sdks/capacitor/cloudinary/)
* [ Compass ](/docs/sdks/capacitor/compass/)
* [ Contacts ](/docs/sdks/capacitor/contacts/)
* [ Datetime Picker ](/docs/sdks/capacitor/datetime-picker/)
* [ Facebook Sign-In ](/docs/sdks/capacitor/facebook-sign-in/)
* [ File Compressor ](/docs/sdks/capacitor/file-compressor/)
* [ File Opener ](/docs/sdks/capacitor/file-opener/)
* [ File Picker ](/docs/sdks/capacitor/file-picker/)
* [ Firebase ](/docs/sdks/capacitor/firebase/)
* [ Formbricks ](/docs/sdks/capacitor/formbricks/)
* [ Geocoder ](/docs/sdks/capacitor/geocoder/)
* [ Google Sign-In ](/docs/sdks/capacitor/google-sign-in/)
* [ Grafana Faro ](/docs/sdks/capacitor/grafana-faro/)
* [ Gyroscope ](/docs/sdks/capacitor/gyroscope/)
* [ In-App Browser ](/docs/sdks/capacitor/in-app-browser/)
* [ Install Referrer ](/docs/sdks/capacitor/install-referrer/)
* [ Keep Awake ](/docs/sdks/capacitor/keep-awake/)
* [ libSQL ](/docs/sdks/capacitor/libsql/)
* [ Live Update ](/docs/sdks/capacitor/live-update/)
* [ Localization ](/docs/sdks/capacitor/localization/)
* [ Mail Composer ](/docs/sdks/capacitor/mail-composer/)
* [ Managed Configurations ](/docs/sdks/capacitor/managed-configurations/)
* [ Maps Launcher ](/docs/sdks/capacitor/maps-launcher/)
* [ Media Session ](/docs/sdks/capacitor/media-session/)
* [ ML Kit ](/docs/sdks/capacitor/mlkit/)
* [ Navigation Bar ](/docs/sdks/capacitor/navigation-bar/)
* [ NFC ](/docs/sdks/capacitor/nfc/)
* [ Node.js ](/docs/sdks/capacitor/nodejs/)
* [ OAuth ](/docs/sdks/capacitor/oauth/)
* [ Passkeys ](/docs/sdks/capacitor/passkeys/)
* [ Password Autofill ](/docs/sdks/capacitor/password-autofill/)
* [ Pedometer ](/docs/sdks/capacitor/pedometer/)
* [ Photo Editor ](/docs/sdks/capacitor/photo-editor/)
* [ PixLive ](/docs/sdks/capacitor/pixlive/)
* [ PostHog ](/docs/sdks/capacitor/posthog/)
* [ Printer ](/docs/sdks/capacitor/printer/)
* [ Privacy Screen ](/docs/sdks/capacitor/privacy-screen/)
* [ Purchases ](/docs/sdks/capacitor/purchases/)
* [ RealtimeKit ](/docs/sdks/capacitor/realtimekit/)
* [ Root Detection ](/docs/sdks/capacitor/root-detection/)
* [ Screen Brightness ](/docs/sdks/capacitor/screen-brightness/)
* [ Screen Orientation ](/docs/sdks/capacitor/screen-orientation/)
* [ Screenshot ](/docs/sdks/capacitor/screenshot/)
* [ Secure Preferences ](/docs/sdks/capacitor/secure-preferences/)
* [ Shake ](/docs/sdks/capacitor/shake/)
* [ Silent Mode ](/docs/sdks/capacitor/silent-mode/)
* [ SIM ](/docs/sdks/capacitor/sim/)
* [ SMS Composer ](/docs/sdks/capacitor/sms-composer/)
* [ Speech Recognition ](/docs/sdks/capacitor/speech-recognition/)
* [ Speech Synthesis ](/docs/sdks/capacitor/speech-synthesis/)
* [ Share Target ](/docs/sdks/capacitor/share-target/)
* [ Square Mobile Payments ](/docs/sdks/capacitor/square-mobile-payments/)
* [ SQLite ](/docs/sdks/capacitor/sqlite/)
* [ Superwall ](/docs/sdks/capacitor/superwall/)
* [ Thermal State ](/docs/sdks/capacitor/thermal-state/)
* [ Torch ](/docs/sdks/capacitor/torch/)
* [ Vault ](/docs/sdks/capacitor/vault/)
* [ Volume ](/docs/sdks/capacitor/volume/)
* [ Wallet ](/docs/sdks/capacitor/wallet/)
* [ Wifi ](/docs/sdks/capacitor/wifi/)
* [ Zip ](/docs/sdks/capacitor/zip/)
* [ Cordova ](/docs/sdks/cordova/)
* [ Cloud ](/docs/cloud/)
* [ Integrations ](/docs/cloud/live-updates/integrations/)
* Concepts
* Reference
* [ Troubleshooting ](/docs/cloud/live-updates/troubleshooting/)
* [ FAQ ](/docs/cloud/live-updates/faq/)
* [ Native Builds ](/docs/cloud/native-builds/)
* [ Set Up Environments ](/docs/cloud/native-builds/environments/)
* [ Overwrite Native Configurations ](/docs/cloud/native-builds/native-configurations/)
* [ Auto-Increment Build Numbers ](/docs/cloud/native-builds/auto-incrementing-build-numbers/)
* [ Configure the Web Build Script ](/docs/cloud/native-builds/web-build-script/)
* [ Build from a Monorepo ](/docs/cloud/native-builds/monorepo/)
* [ Use pnpm, Yarn, or bun ](/docs/cloud/native-builds/package-managers/)
* [ Install Private npm Packages ](/docs/cloud/native-builds/npm-private-registry/)
* [ Override the Java Version ](/docs/cloud/native-builds/override-java-version/)
* [ Custom iOS Provisioning Profiles ](/docs/cloud/native-builds/custom-ios-provisioning-profiles/)
* [ Build without Git ](/docs/cloud/native-builds/build-without-git/)
* [ Access Git Behind a Firewall ](/docs/cloud/native-builds/firewall-access/)
* [ Integrations ](/docs/cloud/native-builds/integrations/)
* Reference
* [ Troubleshooting ](/docs/cloud/native-builds/troubleshooting/)
* [ FAQ ](/docs/cloud/native-builds/faq/)
* [ App Store Publishing ](/docs/cloud/app-store-publishing/)
* [ Submit a Build ](/docs/cloud/app-store-publishing/submit-a-build/)
* [ Submit Automatically After a Build ](/docs/cloud/app-store-publishing/submit-automatically/)
* [ Troubleshooting ](/docs/cloud/app-store-publishing/troubleshooting/)
* [ FAQ ](/docs/cloud/app-store-publishing/faq/)
* [ Automations ](/docs/cloud/automations/)
* [ Reference ](/docs/cloud/automations/reference/)
* [ Troubleshooting ](/docs/cloud/automations/troubleshooting/)
* [ FAQ ](/docs/cloud/automations/faq/)
* [ Assist ](/docs/cloud/assist/)
* [ CLI ](/docs/cloud/cli/)
* APIs and SDKs
* [ Webhooks ](/docs/cloud/webhooks/)
* [ Integrations ](/docs/cloud/integrations/)
* Account
* [ Organization ](/docs/cloud/organizations/)
* [ Two-Factor Enforcement ](/docs/cloud/organizations/two-factor-authentication/)
* [ Audit Logs ](/docs/cloud/organizations/audit-logs/)
* [ Billing ](/docs/cloud/organizations/billing/)
* [ License Keys ](/docs/cloud/license-keys/)
* [ AI ](/docs/ai/)
* [ Insiders ](/docs/insiders/)
* [ Billing & Plans ](/docs/insiders/billing-and-plans/)
* [ FAQ ](/docs/insiders/faq/)
* [ License ](https://capawesome.io/legal/eula/)
* [ Support ](/docs/support/)
* [ Contributing ](/docs/contributing/)
* Contributing code
* [ Code of Conduct ](/docs/contributing/code-of-conduct/)
* [ Questions ](https://docs.github.com/en/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)
* [ Blog ](/blog/)
* Categories

* [ Platform Availability ](#platform-availability)
* [ Changelog ](#changelog)
* [ License ](#license)

# Capacitor Accessibility Preferences Plugin[¶](#capacitor-accessibility-preferences-plugin "Permanent link")

Capacitor plugin for reading the user's system accessibility preferences.

[ ![Deliver Live Updates to your Capacitor app with Capawesome Cloud](../../../assets/external/cloud.capawesome.io/assets/banners/cloud-build-and-deploy-capacitor-apps.69628c3f.png) ](https://cloud.capawesome.io/) 

## Features[¶](#features "Permanent link")

* ♿ **Accessibility preferences**: Read the user's system accessibility preferences.
* 🔤 **Font scale**: Adapt your typography to the user's preferred text size.
* 🎞️ **Reduce motion**: Disable animations when the user prefers reduced motion.
* 🎨 **Contrast & colors**: React to increased contrast and inverted colors.
* 🌐 **Cross-platform**: Works on Android, iOS, and the Web.
* 📦 **CocoaPods & SPM**: Supports CocoaPods and Swift Package Manager for iOS.
* 🔁 **Up-to-date**: Always supports the latest Capacitor version.

Missing a feature? Just [open an issue](https://github.com/capawesome-team/capacitor-plugins/issues) and we'll take a look!

## Newsletter[¶](#newsletter "Permanent link")

Stay up to date with the latest news and updates about the Capawesome, Capacitor, and Ionic ecosystem by subscribing to our [Capawesome Newsletter](https://cloud.capawesome.io/newsletter/).

## Compatibility[¶](#compatibility "Permanent link")

| Plugin Version | Capacitor Version | Status         |
| -------------- | ----------------- | -------------- |
| 0.x.x          | \>=8.x.x          | Active support |

## Installation[¶](#installation "Permanent link")

You can use our **AI-Assisted Setup** to install the plugin. Add the [Capawesome Skills](https://github.com/capawesome-team/skills) to your AI tool using the following command:

`[](#%5F%5Fcodelineno-0-1)npx skills add capawesome-team/skills --skill capacitor-plugins
`

Then use the following prompt:

`` [](#%5F%5Fcodelineno-1-1) Use the `capacitor-plugins` skill from `capawesome-team/skills` to install the `@capawesome/capacitor-accessibility-preferences` plugin in my project.
 ``

If you prefer **Manual Setup**, install the plugin by running the following command:

`[](#%5F%5Fcodelineno-2-1)npm install @capawesome/capacitor-accessibility-preferences
[](#%5F%5Fcodelineno-2-2)npx cap sync
`

This plugin does not require any additional permissions or configuration.

## Configuration[¶](#configuration "Permanent link")

No configuration required for this plugin.

## Usage[¶](#usage "Permanent link")

`[](#%5F%5Fcodelineno-3-1)import { AccessibilityPreferences } from '@capawesome/capacitor-accessibility-preferences';
[](#%5F%5Fcodelineno-3-2)
[](#%5F%5Fcodelineno-3-3)const getPreferences = async () => {
[](#%5F%5Fcodelineno-3-4)  const preferences = await AccessibilityPreferences.getPreferences();
[](#%5F%5Fcodelineno-3-5)  return preferences;
[](#%5F%5Fcodelineno-3-6)};
`

## API[¶](#api "Permanent link")

* [getPreferences()](#getpreferences)
* [Interfaces](#interfaces)

### getPreferences()[¶](#getpreferences "Permanent link")

`[](#%5F%5Fcodelineno-4-1)getPreferences() => Promise<GetPreferencesResult>
`

Get the user's current system accessibility preferences.

Fields that the current platform cannot provide are set to `null`.

**Returns:** `Promise<[GetPreferencesResult](#getpreferencesresult)>`

**Since:** 0.1.0

---

### Interfaces[¶](#interfaces "Permanent link")

#### GetPreferencesResult[¶](#getpreferencesresult "Permanent link")

| Prop                            | Type            | Description                                                                                                                                                                                                                                                                                                                                   | Since |
| ------------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| **fontScale**                   | number          | The system font scale factor. A value of 1.0 represents the default font size. Values greater than 1.0 indicate that the user prefers larger text, values less than 1.0 smaller text. On iOS, the value is derived from the preferred content size category. On Web, this is always 1.0 because the font scale is not exposed to web content. | 0.1.0 |
| **isBoldTextEnabled**           | boolean \| null | Whether the user prefers bold text. Returns null on platforms where the value cannot be read (Web and Android versions below 12).                                                                                                                                                                                                             | 0.1.0 |
| **isHighContrastEnabled**       | boolean \| null | Whether the user prefers increased contrast. On iOS, this reflects the "Increase Contrast" setting (darker system colors). On Android, this reflects the high text contrast setting. Returns null on platforms where the value cannot be read.                                                                                                | 0.1.0 |
| **isInvertColorsEnabled**       | boolean \| null | Whether the user has enabled inverted colors. Returns null on Web.                                                                                                                                                                                                                                                                            | 0.1.0 |
| **isReduceMotionEnabled**       | boolean         | Whether the user prefers reduced motion (fewer animations).                                                                                                                                                                                                                                                                                   | 0.1.0 |
| **isReduceTransparencyEnabled** | boolean \| null | Whether the user prefers reduced transparency. Only available on iOS. Returns null on Android and Web.                                                                                                                                                                                                                                        | 0.1.0 |

## Platform Availability[¶](#platform-availability "Permanent link")

Not every preference can be read on every platform. Fields that the current platform cannot provide are set to `null`.

| Field                       | Android     | iOS | Web  |
| --------------------------- | ----------- | --- | ---- |
| fontScale                   | ✅           | ✅   | ⚠️\* |
| isReduceMotionEnabled       | ✅           | ✅   | ✅    |
| isBoldTextEnabled           | ✅ (API 31+) | ✅   | ❌    |
| isInvertColorsEnabled       | ✅           | ✅   | ❌    |
| isReduceTransparencyEnabled | ❌           | ✅   | ❌    |
| isHighContrastEnabled       | ✅           | ✅   | ✅    |

✅ = available · ❌ = always `null` · ⚠️\* = `fontScale` is always `1.0` on Web because it is not exposed to web content.

On iOS, `fontScale` is derived from the preferred content size category using the following mapping (relative to the default body text size of 17 pt):

| Content size category           | fontScale |
| ------------------------------- | --------- |
| Extra Small                     | 0.82      |
| Small                           | 0.88      |
| Medium                          | 0.94      |
| Large (default)                 | 1.0       |
| Extra Large                     | 1.12      |
| Extra Extra Large               | 1.24      |
| Extra Extra Extra Large         | 1.35      |
| Accessibility Medium            | 1.65      |
| Accessibility Large             | 1.94      |
| Accessibility Extra Large       | 2.35      |
| Accessibility Extra Extra Large | 2.76      |
| Accessibility 3X Large          | 3.12      |

CSS media queries such as `prefers-reduced-motion` and `prefers-contrast` already cover reduce-motion and contrast inside the WebView. The value of this plugin is the fields CSS cannot see (`fontScale`, bold text, inverted colors) and having a single API for your app logic on all platforms.

The screen reader _state_ (VoiceOver/TalkBack) is intentionally out of scope. Use the official [@capacitor/screen-reader](https://capacitorjs.com/docs/apis/screen-reader) plugin for that.

## Changelog[¶](#changelog "Permanent link")

See [CHANGELOG.md](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/accessibility-preferences/CHANGELOG.md).

## License[¶](#license "Permanent link")

See [LICENSE](https://github.com/capawesome-team/capacitor-plugins/blob/main/packages/accessibility-preferences/LICENSE).

July 7, 2026 

Back to top

```json
{"@context": "https://schema.org", "@graph": [{"@type": "TechArticle", "@id": "https://capawesome.io/docs/sdks/capacitor/accessibility-preferences/#article", "headline": "Capacitor Accessibility Preferences Plugin", "name": "Capacitor Accessibility Preferences Plugin", "description": "Capacitor plugin to read the user's system accessibility preferences such as font scale, reduce motion, and contrast on Android, iOS, and the Web.", "inLanguage": "en", "url": "https://capawesome.io/docs/sdks/capacitor/accessibility-preferences/", "mainEntityOfPage": "https://capawesome.io/docs/sdks/capacitor/accessibility-preferences/", "author": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "publisher": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "about": {"@id": "https://capawesome.io/docs/sdks/capacitor/accessibility-preferences/#software"}}, {"@type": "SoftwareSourceCode", "@id": "https://capawesome.io/docs/sdks/capacitor/accessibility-preferences/#software", "name": "Capacitor Accessibility Preferences Plugin", "description": "Capacitor plugin to read the user's system accessibility preferences such as font scale, reduce motion, and contrast on Android, iOS, and the Web.", "url": "https://capawesome.io/docs/sdks/capacitor/accessibility-preferences/", "programmingLanguage": "TypeScript", "runtimePlatform": "Capacitor", "codeRepository": "https://github.com/capawesome-team", "author": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}, "publisher": {"@type": "Organization", "name": "Capawesome", "url": "https://capawesome.io", "logo": {"@type": "ImageObject", "url": "https://capawesome.io/assets/images/logo.svg"}}}]}
```
