Title: Oorly Accessibility Widget
Author: Seyfettin KAHVECİ
Published: <strong>September 22, 2026</strong>
Last modified: October 20, 2026

---

Search plugins

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

![](https://ps.w.org/oorly/assets/icon.svg?rev=3706654)

# Oorly Accessibility Widget

 By [Seyfettin KAHVECİ](https://profiles.wordpress.org/seyfettinkahveci/)

[Download](https://downloads.wordpress.org/plugin/oorly.2.0.0.zip)

[Live Preview](https://ewe.wordpress.org/plugins/oorly/?preview=1)

 * [Details](https://ewe.wordpress.org/plugins/oorly/#description)
 * [Reviews](https://ewe.wordpress.org/plugins/oorly/#reviews)
 *  [Installation](https://ewe.wordpress.org/plugins/oorly/#installation)
 * [Development](https://ewe.wordpress.org/plugins/oorly/#developers)

 [Support](https://wordpress.org/support/plugin/oorly/)

## Description

People read the web in very different ways. Someone with low vision zooms in, someone
with dyslexia struggles with tightly set text, someone with a migraine needs the
motion to stop. **Oorly Accessibility Widget** puts a small button on every page
of your WordPress site that opens a panel of 17 controls. Each visitor chooses what
helps them, and the page changes for that visitor only.

Setup takes about two minutes. Create a free Oorly account, paste your site code
under **Settings > Oorly**, and the widget appears. You don’t need to edit your 
theme or `header.php`, and there is no build step.

#### Free dashboard for every account

**Every Oorly account, including the free plan, comes with the dashboard at [dash.oorly.com](https://dash.oorly.com):**

 * **Daily visitors**: see how many people visit your site each day.
 * **Widget usage**: see how often the widget is opened and which controls your 
   visitors rely on most.
 * **Broken links**: find links on your site that lead nowhere, so you can fix them
   before visitors run into them.
 * **Accessibility errors**: get every WCAG issue on your site, with the exact element
   and how to fix it.

You add the widget for your visitors and get an overview of your site’s health in
the same account.

#### Your path to WCAG, ADA and EAA compliance

Laws such as the **Americans with Disabilities Act (ADA)** in the US and the **European
Accessibility Act (EAA)** in the EU expect websites to be usable by people with 
disabilities, and both point to **WCAG** as the technical standard. Oorly gives 
you the two things you need to get there:

 * **The widget** helps visitors with different needs use your site today, from 
   larger text to read aloud.
 * **The free WCAG report** checks your pages against WCAG 2.1 AA and WCAG 2.2 and
   lists every issue with the exact element and how to fix it, so you can fix them
   in your site’s code.

Compliance lives in your site’s HTML, so no widget can deliver it alone. Fix what
the report finds and keep it scanning to move your site toward WCAG conformance,
the standard the ADA and EAA refer to.

**Important: Oorly does not guarantee legal compliance.** Neither the widget nor
the report can promise that your site fully meets WCAG, the ADA, the EAA or any 
other law. Automated scans catch many issues but not all of them, and some requirements
can only be checked by a person. For full assurance, combine Oorly with a manual
accessibility audit and, where needed, legal advice.

#### Why it matters

 * Around one in six people worldwide live with a significant disability, and many
   more have temporary or age-related needs such as tired eyes, a broken arm or 
   a small screen in bright sunlight.
 * Text that is easier to read keeps people on the page longer, so they read further
   and are more likely to finish a form or a purchase.
 * Many of the issues the report finds, such as missing alt text, unclear link text
   and skipped headings, also affect how search engines understand your pages.

#### The 17 visitor controls

Nothing is switched on by default. Visitors turn on only what they need, and their
choices are remembered in their own browser.

**Reading**

 * **Text size**: scale the text up step by step while the layout holds together.
 * **Text spacing**: put more room between letters and words.
 * **Line height**: open up the space between lines of a paragraph.
 * **Text align**: turn justified text into ragged-right text, which is easier to
   track.
 * **Dyslexia font**: swap to a typeface whose letters are harder to confuse.
 * **Read aloud**: hear the page sentence by sentence, at the visitor’s own pace.

**Seeing**

 * **Contrast**: choose high contrast, inverted colours or a low-light mode.
 * **Saturation**: boost, soften or remove colour completely.
 * **Page zoom**: enlarge everything, including images and buttons.
 * **Big cursor**: a larger pointer that is easier to spot.
 * **Highlight links**: underline and outline every link on the page.
 * **Highlight headings**: outline headings so the structure of the page stands 
   out.

**Focusing**

 * **Reading guide**: a ruler that follows the pointer down the page.
 * **Focus highlight**: dim the rest of the page around the section being read.
 * **Stop animations**: pause motion, autoplay and parallax effects.
 * **Hide images**: take decorative images away and keep the text.
 * **Mute sounds**: silence audio that starts on its own.

#### The Oorly report (no plugin needed)

The report is part of the free dashboard. It runs on Oorly’s side, so it works whether
or not this plugin is installed.

 * **Scheduled and on-demand scans** against WCAG 2.1 AA or WCAG 2.2.
 * **The rule and its WCAG reference** for every finding, with an impact level of
   serious, moderate or minor.
 * **The exact CSS selector and markup** the crawler saw, so developers find the
   problem straight away.
 * **Fix guidance** explaining why each issue matters and how to fix it.
 * **History across scans**, with regressions reopened automatically and a **PDF
   export** for clients or audits.

#### Why site owners choose this plugin

 * **Lightweight**: one readable PHP file. Nothing is minified or bundled, and the
   plugin adds no database tables, cron jobs or REST routes.
 * **Plays by WordPress rules**: the script is loaded with `wp_enqueue_script()`
   and the `defer` strategy, so it never blocks rendering and can be dequeued by
   its `oorly-widget` handle.
 * **Safe input**: the site code is restricted to `[A-Za-z0-9_-]` before it is saved,
   and only users with `manage_options` can change it.
 * **Easy to switch off**: clear the code and the script is gone from every page.
   Deleting the plugin removes its one stored option.
 * **Multisite friendly**: each site keeps its own code and can be switched on or
   off independently.
 * **Translatable**: every string can be translated, and translations are delivered
   through translate.wordpress.org.

#### External services

This plugin relies on Oorly, a third-party service operated by Drupart, to provide
the widget.

Once you save a site code, the visitor’s browser loads `https://widget.oorly.com/
widget.js` on every front-end page, with that code as the `c` query parameter. Like
any file request, this tells Oorly the visitor’s IP address, user agent and the 
page they are on. Once running, the widget sends anonymous usage measurements to
Oorly (page views and which controls are used) to produce the visitor and usage 
statistics shown in your dashboard. The plugin does not host or modify the script
and makes no server-side calls to Oorly. What the widget does once it runs is handled
on Oorly’s side and tied to your site code. Clearing the site code stops the script
from loading.

 * Website: https://oorly.com
 * Terms of service: https://oorly.com/terms-of-service
 * Privacy policy: https://oorly.com/privacy-policy

#### Support

Questions about the plugin belong in this plugin’s support forum. Questions about
your Oorly account, your site code or the report go to https://oorly.com.

## Screenshots

[⌊The accessibility button sits in the corner of every page, ready for visitors.⌉⌊
The accessibility button sits in the corner of every page, ready for visitors.⌉[

The accessibility button sits in the corner of every page, ready for visitors.

[⌊One click opens the panel with all 17 controls.⌉⌊One click opens the panel with
all 17 controls.⌉[

One click opens the panel with all 17 controls.

[⌊Larger text, the dyslexia font and the reading guide switched on.⌉⌊Larger text,
the dyslexia font and the reading guide switched on.⌉[

Larger text, the dyslexia font and the reading guide switched on.

[⌊High contrast with highlighted links and headings; active controls show their 
current setting.⌉⌊High contrast with highlighted links and headings; active controls
show their current setting.⌉[

High contrast with highlighted links and headings; active controls show their current
setting.

## Installation

 1. In your dashboard go to **Plugins > Add New**, search for “Oorly” and click **Install
    Now**, then **Activate**. You can also upload the `oorly` folder to `/wp-content/
    plugins/` yourself.
 2. Sign up at https://oorly.com (no card required) and add your domain.
 3. Copy your site code from the **Implementation** tab in the Oorly dashboard.
 4. Paste it under **Settings > Oorly** and click **Save**.

That’s it. Open any page on your site and the accessibility button appears. To double-
check, view the page source and search for `widget.oorly.com`.

If your site sends a Content Security Policy, allow `widget.oorly.com` in it.

## FAQ

### Will this make my site WCAG, ADA or EAA compliant?

Oorly gives you what you need to get there: the widget for your visitors and a free
WCAG report that lists every issue on your site with the exact fix. Compliance depends
on your site’s HTML, so the issues the report finds have to be fixed in your theme
or content. Scheduled scans then warn you if something breaks again.

Oorly does not guarantee 100% compliance. Automated testing cannot detect every 
WCAG issue, so a manual audit is still recommended if you need full assurance.

### Is Oorly free?

Oorly is free for sites with up to 5,000 pageviews a month, and no credit card is
needed to sign up. Busier sites need a paid plan; see https://oorly.com for current
pricing.

### Do I need to edit my theme?

No. The script is added through the standard `wp_enqueue_scripts` hook, so it works
with any properly built theme and survives theme updates and theme switches.

### Will it slow my site down?

The script loads with `defer`, so the browser keeps building the page while it downloads.
It is served from Oorly’s CDN and loads only on the front end, never in wp-admin.

### Does the widget use cookies?

The widget sets no cookies. Each visitor’s choices are kept in their own browser.
To produce the statistics in your dashboard, the widget sends anonymous usage measurements
to Oorly; see the External services section above for details.

### Which languages does the widget speak?

The widget can follow the language of the page or be pinned to a language you choose
in the Oorly dashboard. The plugin’s settings screen follows your WordPress language.

### Can I hide the widget on certain pages?

Yes. Dequeue the `oorly-widget` handle wherever you don’t want it:

    ```
    add_action( 'wp_enqueue_scripts', function () { if ( is_page( 'checkout' ) ) { wp_dequeue_script( 'oorly-widget' ); } }, 20 );
    ```

### How do I turn the widget off without deactivating the plugin?

Clear the site code field and save. No script is added while the field is empty.

### I changed my site code but the old one still shows up

Purge your page cache (WP Rocket, LiteSpeed, Varnish, Cloudflare and so on). The
script tag is part of the HTML, so cached pages keep the old code until the cache
is cleared.

### Some characters were removed from my code

Only letters, digits, hyphens and underscores are accepted. Make sure you copied
the code exactly. If it still doesn’t work, contact Oorly support.

### What is left behind when I delete the plugin?

Nothing. `uninstall.php` deletes the single `oorly_site_code` option. Deactivating
the plugin keeps the code, so you can switch it back on later.

### Does it work on multisite?

Yes. Each site stores its own code. Network activation is safe, but you need to 
enter the code once on each site.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Oorly Accessibility Widget” is open source software. The following people have 
contributed to this plugin.

Contributors

 *   [ Seyfettin KAHVECİ ](https://profiles.wordpress.org/seyfettinkahveci/)

“Oorly Accessibility Widget” has been translated into 1 locale. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/oorly/contributors)
for their contributions.

[Translate “Oorly Accessibility Widget” into your language.](https://translate.wordpress.org/projects/wp-plugins/oorly)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/oorly/), check out 
the [SVN repository](https://plugins.svn.wordpress.org/oorly/), or subscribe to 
the [development log](https://plugins.trac.wordpress.org/log/oorly/) by [RSS](https://plugins.trac.wordpress.org/log/oorly/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.0.0

 * Renamed from “Oorly Integration” to **Oorly Accessibility Widget**; the directory,
   main file and text domain are now `oorly`.
 * The widget is enqueued with `wp_enqueue_script()` and the `defer` loading strategy
   instead of being printed by hand on `wp_head`. Other plugins can now dequeue 
   it by the `oorly-widget` handle.
 * Minimum WordPress version raised to 6.3, which is where the `defer` loading strategy
   arrived.
 * All functions and constants use the `oorly_` prefix.
 * The stored option moved from `oorly_integration_client_code` to `oorly_site_code`.
 * Dropped the `load_plugin_textdomain()` call; WordPress loads the bundled translations
   on its own.
 * The plugin name is no longer a translatable string — “Oorly” is spelled the same
   in every language.
 * readme rewritten: what the widget does and does not do, and a full disclosure
   of the external service.

#### 1.1.0

 * Menu entry and page title made translatable.
 * Explanation of what Oorly does, and a “Get your site code” link to the dashboard,
   added to the settings page.
 * Interface translated into Turkish (tr_TR) and German (de_DE).
 * Field label renamed from “Client code” to “Site code”.

#### 1.0.0

 * Initial release.
 * Site code field under Settings.
 * Widget script added via `wp_head` with the `defer` attribute.
 * Input sanitization and a live preview of the saved tag.
 * Setting removed from the database when the plugin is deleted.

## Meta

 *  Version **2.0.0**
 *  Last updated **7 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/oorly/) and [Turkish](https://tr.wordpress.org/plugins/oorly/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/oorly)
 * Tags
 * [accessibility](https://ewe.wordpress.org/plugins/tags/accessibility/)[accessibility toolbar](https://ewe.wordpress.org/plugins/tags/accessibility-toolbar/)
   [accessibility widget](https://ewe.wordpress.org/plugins/tags/accessibility-widget/)
   [wcag](https://ewe.wordpress.org/plugins/tags/wcag/)[wordpress accessibility](https://ewe.wordpress.org/plugins/tags/wordpress-accessibility/)
 *  [Advanced View](https://ewe.wordpress.org/plugins/oorly/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/oorly/reviews/)

## Contributors

 *   [ Seyfettin KAHVECİ ](https://profiles.wordpress.org/seyfettinkahveci/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/oorly/)