Title: Handrail Accessibility Widget
Author: ifrederico
Published: <strong>Agẹmọ  6, 2026</strong>
Last modified: Agẹmọ  24, 2026

---

Ṣàwárí àwọn plugin

![](https://ps.w.org/handrail-widget/assets/banner-772x250.png?rev=3597253)

![](https://ps.w.org/handrail-widget/assets/icon-256x256.png?rev=3597253)

# Handrail Accessibility Widget

 Láti ọwọ́ [ifrederico](https://profiles.wordpress.org/ifrederico/)

[Ṣe ìgbàsílẹ̀](https://downloads.wordpress.org/plugin/handrail-widget.1.6.0.zip)

 * [Àwọn àlàyé](https://yor.wordpress.org/plugins/handrail-widget/#description)
 * [Àwọn àgbéyẹ̀wò](https://yor.wordpress.org/plugins/handrail-widget/#reviews)
 *  [Ìgbéwọlẹ̀](https://yor.wordpress.org/plugins/handrail-widget/#installation)
 * [Ìdàgbàsókè](https://yor.wordpress.org/plugins/handrail-widget/#developers)

 [Ìrànlọ́wọ́](https://wordpress.org/support/plugin/handrail-widget/)

## Àpèjúwe

Handrail is a small floating panel that gives your visitors accessibility controls
they actually want — font sizing, contrast modes, a dyslexia-friendly font, animation
pausing, text-to-speech, and more. Like a real handrail: quiet support that helps
without claiming to fix the building.

Everything the widget needs is bundled with the plugin and served from your own 
site — the widget script, the OpenDyslexic font, and the optional audit engine. 
No external requests, no CDNs, no tracking, no accounts. Configure position, button
size, and language from Settings > Handrail Accessibility Widget.

The widget is free and open source (MIT), with no paid tier. Visitor preferences
are stored locally in their browser and never sent anywhere.

Note: this widget is a complement to — not a substitute for — real accessibility
work (semantic HTML, ARIA, keyboard navigation, alt text). It does not guarantee
compliance with WCAG, ADA, Section 508, or any other standard.

### Source Code

The bundled JavaScript is built from public, human-readable source code:

 * `js/accessible-web-widget.wp.min.js` — the widget itself. Source repository: 
   https://github.com/ifrederico/accessible-web-widget (MIT). Build with `npm install&&
   npm run build` (Rollup); this file is the `dist/accessible-web-widget.wp.min.
   js` output, a WordPress-specific build with no remote fallback URLs.
 * `js/axe.min.js` — axe-core 4.11.1 by Deque Systems, unmodified. Source repository:
   https://github.com/dequelabs/axe-core (MPL-2.0). Loaded only in developer mode(`?
   acc-dev=true`).
 * `fonts/OpenDyslexic3-Regular.*` — OpenDyslexic by Abbie Gonzalez, https://opendyslexic.
   org/ (SIL OFL 1.1; see `fonts/LICENSE.txt`).

## Àwọn àwòrán ìbòjú

[⌊The Handrail panel open on a page — accessibility profiles, text-to-speech, and
text controls.⌉⌊The Handrail panel open on a page — accessibility profiles, text-
to-speech, and text controls.⌉[

The Handrail panel open on a page — accessibility profiles, text-to-speech, and 
text controls.

## Ìgbéwọlẹ̀

 1. Upload the `handrail-widget` folder to `/wp-content/plugins/`, or install via the
    Plugins screen.
 2. Activate the plugin through the Plugins screen in WordPress.
 3. Go to Settings > Handrail Accessibility Widget to configure position, size, and
    language.

## FAQ

### Does this make my site WCAG/ADA compliant?

No. No overlay does. Use it as a convenience layer on top of a properly built, accessible
site.

### Where does the script load from?

From your own site. The widget script, the OpenDyslexic font, and the audit engine(
axe-core, used only in developer mode) are all bundled inside the plugin — no external
requests are made.

### Does the plugin collect any data?

No. There is no tracking, no analytics, and no phoning home. Visitor preferences(
such as font size or contrast choices) are stored in their own browser.

## Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

## Àwọn Olùkópa & Olùgbéejáde

“Handrail Accessibility Widget” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí
ti ṣe ìkópa sí plugin yìí.

Àwọn Olùkópa

 *   [ ifrederico ](https://profiles.wordpress.org/ifrederico/)

[Túmọ̀ “Handrail Accessibility Widget” sí èdè rẹ.](https://translate.wordpress.org/projects/wp-plugins/handrail-widget)

### Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

[Ṣàwárí koodu](https://plugins.trac.wordpress.org/browser/handrail-widget/), ṣàyẹ̀wò
[ibi ìpamọ́ SVN](https://plugins.svn.wordpress.org/handrail-widget/), tàbí ṣe àgbékalẹ̀
sí [àkọsílẹ̀ ìdàgbàsókè](https://plugins.trac.wordpress.org/log/handrail-widget/)
nípasẹ̀ [RSS](https://plugins.trac.wordpress.org/log/handrail-widget/?limit=100&mode=stop_on_copy&format=rss).

## Àkọsílẹ̀ àwọn àyípadà

#### 1.6.0

 * Removed the text alignment control introduced in 1.5.4. Overriding the alignment
   of every heading, paragraph, and list item fought with the way most sites are
   designed, and the result didnÌtumọ̀ Yorùbá: ’t read well in practice. Pages now
   keep their authored alignment.
 * Fixed the Reading Guide disappearing whenever Simplify Layout was switched on.
   The two can now be used together. Thanks to @njf0x for the fix.

#### 1.5.4

 * Adds a logical text alignment control that cycles through Start, Center, End,
   and the pageÌtumọ̀ Yorùbá: ’s original alignment. Start and End follow the text
   direction for left-to-right and right-to-left content, and the preference persists
   until reset.
 * Completes the Spanish translations for annotations, text-to-speech, speech playback,
   Simplify Layout, reading status, and the new text alignment control.

#### 1.5.3

 * 34 new interface languages, for 54 total — including Chinese (Simplified and 
   Traditional), Japanese, Korean, Hindi, Bengali, Arabic-script Persian and Urdu,
   and many more. Every UI label is translated.

#### 1.5.2

 * Site language: the widget now follows the siteÌtumọ̀ Yorùbá: ’s declared language(`
   <html lang>`) instead of defaulting to the visitorÌtumọ̀ Yorùbá: ’s browser language.
   A language the visitor picks in the widget menu still wins.
 * Stop Animations — and the Seizure Safe profile — now also pauses videos and freezes
   animated GIFs.
 * The Dyslexia Font toggle is now a Readable Font control with three choices: OpenDyslexic,
   Atkinson Hyperlegible, and Lexend. All three fonts are bundled with the plugin
   and served from your own site.
 * Seven new languages: Swedish, Danish, Catalan, Slovenian, Latvian, Greek, and
   Georgian (20 total).
 * Profiles display two per row, halving the menuÌtumọ̀ Yorùbá: ’s height.
 * The widget works on sites with a strict Content Security Policy.

#### 1.3.5

 * Renamed to Handrail Accessibility Widget.
 * Removed the credit link from the widget panel.
 * The bundled widget script is now a WordPress-specific build that contains no 
   remote fallback URLs, and the readme documents where all bundled source code 
   lives.

#### 1.3.4

 * All assets are now bundled with the plugin and served from your own site: the
   widget script (previously loaded from the jsDelivr CDN), the OpenDyslexic font,
   and the axe-core audit engine used in developer mode. The plugin no longer makes
   any external requests.

#### 1.3.3

 * Completes the developer-mode gating from 1.3.2: a previously saved Annotations
   preference no longer downloads or runs the audit engine (axe-core) on normal 
   visits. The audit engine now loads only with ?acc-dev=true, without exceptions.

#### 1.3.2

 * The background accessibility scan (axe-core) and the violation-count bubble now
   run only in developer mode (?acc-dev=true). Regular visitors no longer download
   or execute the audit engine, making the widget lighter on every page view.
 * Security maintenance for development dependencies (build and test tooling only;
   the shipped widget has no runtime dependencies).

#### 1.3.1

 * Fixes the menu opening on the right side when the widget button is positioned
   bottom-left or top-left; the panel now docks to the buttonÌtumọ̀ Yorùbá: ’s edge.
 * Adds an optional menuPosition (‘left’ or ‘right’) setting to override the docking
   side independently of the button position.

#### 1.3.0

 * Bundles widget version 1.3.0: the menu now opens as a full-height side panel 
   with an “Accessibility Options” header, the language picker beside the close 
   button, one-tap profiles as toggle switches, and a roughly 20% wider layout.
 * Improved keyboard and screen-reader behavior: opening the menu focuses the dialog
   itself and the focus trap handles Shift+Tab from the dialog.

#### 1.2.0

 * Bundles widget version 1.2.0: accessibility profiles, page structure navigator,
   text magnifier, mute sounds, Shadow DOM UI, RTL layout with Arabic and Hebrew,
   and pt-BR translations.
 * Regional language codes such as “pt-BR” now resolve to the matching dictionary
   instead of falling back to English.

#### 1.1.4

 * Initial plugin release, bundling widget version 1.1.4.

## Àkójọpọ̀ Meta

 *  Ẹ̀yà **1.6.0**
 *  Ìgbàgbọ́hùn tó kẹ́yìn **oṣù 2 sẹ́yìn**
 *  Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ **10+**
 *  Ẹ̀yà WordPress ** 5.0 tàbí ju bẹ́ẹ̀ lọ **
 *  Dánwò dé **7.0.6**
 *  Ẹ̀yà PHP ** 7.2 tàbí ju bẹ́ẹ̀ lọ **
 *  Èdè
 * [English (US)](https://wordpress.org/plugins/handrail-widget/)
 * Àwọn àmì
 * [a11y](https://yor.wordpress.org/plugins/tags/a11y/)[accessibility](https://yor.wordpress.org/plugins/tags/accessibility/)
   [contrast](https://yor.wordpress.org/plugins/tags/contrast/)[text to speech](https://yor.wordpress.org/plugins/tags/text-to-speech/)
   [widget](https://yor.wordpress.org/plugins/tags/widget/)
 *  [Ìwòye Tó Péye](https://yor.wordpress.org/plugins/handrail-widget/advanced/)

## Àwọn ìbò

Kò sí ìwádìí tí a tíì fi ránṣẹ́.

[Your review](https://wordpress.org/support/plugin/handrail-widget/reviews/#new-post)

[Wo gbogbo àwọn àgbéyẹ̀wò](https://wordpress.org/support/plugin/handrail-widget/reviews/)

## Àwọn Olùkópa

 *   [ ifrederico ](https://profiles.wordpress.org/ifrederico/)

## Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

 [Wo àpéjọ ìrànlọ́wọ́](https://wordpress.org/support/plugin/handrail-widget/)