InclusaBar

Description

InclusaBar adds a floating accessibility toolbar to the front-end of your WordPress site. It’s built to cover the most common accessibility barriers without the performance overhead or visual clutter of larger plugins.

Features

  • Font Size — Increases or decreases the page’s base font size in steps (default 2px per step, up to 4 steps either way), with a one-click reset. Step size and step count are both configurable.
  • Line Height — Increases line spacing independently of Font Size or Reading Mode, in its own configurable steps — useful when text is legible but feels too cramped to track line-by-line.
  • High Contrast — Applies a contrast boost (filter: contrast(1.25)) across the whole page for low-vision users who need stronger differentiation between text and background.
  • Reduce Motion — Disables CSS animations, transitions, and smooth scrolling site-wide, for visitors sensitive to motion. Also auto-activates on load if the visitor’s OS/browser has “prefers reduced motion” set, without them needing to touch the toolbar.
  • Enhanced Focus Indicators — Replaces default (often subtle or theme-suppressed) focus outlines with a high-visibility amber outline on whatever element currently has keyboard focus, making tab-based navigation much easier to follow.
  • Reading Mode — Loosens line height, letter spacing, and word spacing together to improve text readability (aligned with WCAG 1.4.12 – Text Spacing).
  • Link Underlines — Forces a visible underline on every link, including ones styled to rely on colour alone, so links remain identifiable for visitors who can’t distinguish colour differences.
  • Dyslexia-Friendly Font — Switches body text to a Verdana/Tahoma/Trebuchet MS stack with wider letter and word spacing — fonts commonly recommended for dyslexic readers, without requiring an external webfont download.
  • Grayscale — Desaturates the entire page, useful for visitors sensitive to colour or certain forms of colour blindness. Combines cleanly with High Contrast if both are switched on.
  • Big Cursor — Replaces the default mouse cursor with a larger, high-contrast arrow site-wide, for visitors with low vision or difficulty tracking a small pointer.

All settings are persisted to localStorage per browser.

Fits your design

Set the toolbar button’s colour, icon colour and corner radius (from square to fully round), choose which corner of the screen it sits in, and fine-tune its distance from the edge and its stacking order.

Configuration

Visit Settings -> InclusaBar. Settings are grouped into two sections.

Toolbar Appearance

  • Toolbar position — bottom-right (default), bottom-left, top-right, top-left
  • Edge offset — distance from the edges of the chosen corner (default: 10px)
  • Z-index — lower this if the toolbar sits on top of a fixed header or footer (default: 999999)
  • Button colour — the toolbar button’s background, also used for switched-on toggles and focus outlines in the panel
  • Button icon colour — the colour of the icon and label on the toolbar button (default: white)
  • Button corner radius — in pixels or a percentage; 0 is square, 50% is fully round (default: 50%)

Text Adjustments

  • Font size step — pixels per increase/decrease step (default: 2px)
  • Max font steps — how many steps up or down are available (default: 4)
  • Line height step — how much each step increases line-height by (default: 0.2)
  • Max line height steps — how many increase steps are available (default: 4)

Legal & Disclaimer

This plugin is free and always will be. I maintain it as carefully as I can and I am happy to hear about problems — but like any free software, you are responsible for trying it out on your own site before going live with it.

InclusaBar is distributed under the GPL-2.0-or-later licence and is provided “as is”, without warranty of any kind. Each release is checked against the WordPress Plugin Check tool and the author will make reasonable efforts to maintain compatibility with current versions of WordPress — but compatibility cannot be guaranteed across all themes, hosting environments, and plugin combinations.

By installing this plugin you accept that you are responsible for testing it in your own environment and that the author is not liable for any loss, damage, or disruption arising from its use. This is the same position the WordPress Plugin Repository takes with every plugin it hosts.

If you find a bug or compatibility issue, please report it so it can be looked into.

Screenshots

Installation

  1. Upload the inclusabar folder to /wp-content/plugins/
  2. Activate through the Plugins menu
  3. Optionally configure via Settings -> InclusaBar

FAQ

Does it conflict with page builders?

InclusaBar applies its styles at the html element level using CSS custom properties and classes, so it is broadly compatible with Bricks Builder, Elementor, Kadence, and similar builders. High contrast uses filter: contrast() which may interact with complex stacking contexts — test on your specific theme.

Does it work without JavaScript?

The toolbar itself requires JS. However, no content is hidden behind the toolbar; it is purely additive.

Is it WCAG compliant itself?

Yes — the toolbar uses proper ARIA roles, role=”switch” on toggle buttons, focus management, keyboard trap within the panel, and aria-live for font size announcements.

What can InclusaBar actually do?

It adds a floating toolbar with: font size and line height controls (independent steppers), high contrast, reduce motion (with OS preference auto-detection), enhanced focus indicators, reading mode, forced link underlines, a dyslexia-friendly font, grayscale, and a big cursor. Everything is configurable from Settings InclusaBar (position, button colours and shape, step sizes) and every setting has an individual reset plus a single “Reset All Settings” button.

Can I make the toolbar button match my site’s design?

Yes. Under Settings InclusaBar Toolbar Appearance you can set the button colour, the icon colour, and the corner radius — use pixels or a percentage, where 0 is square and 50% is fully round. You can also choose which corner of the screen the button sits in, how far it sits from the edge, and its z-index if it overlaps a fixed header or footer. The button colour is also used for switched-on toggles and keyboard focus outlines inside the panel, so the whole toolbar stays consistent. As you choose the colours, the Settings page shows the contrast between the button and its icon and rates it against the 4.5:1 accessibility target. If it’s too low, a “Use recommended icon colour” button picks white or dark navy for you. You can still save any combination you like, but you’ll see a warning if the contrast is low.

Does InclusaBar track or collect any data?

No. There is no telemetry, analytics, or tracking of any kind, and the plugin makes no external network requests. Toolbar settings a visitor changes are stored only in that browser’s own localStorage — nothing is sent to or stored on your server per-visitor. The only data InclusaBar stores server-side is the single inclusabar_settings option holding the admin’s configuration (position, button colours, step sizes, etc.), which you set yourself on the Settings page.

How is this plugin’s security tested?

Every release is checked with the official WordPress Plugin Check tool, plus an additional dedicated logic-level security review before it ships. This includes broken access control, privilege escalation, and injection points. Settings are validated and sanitised server-side (whitelisted values, clamped numeric ranges) regardless of what’s submitted client-side.

What happens to my data if I uninstall the plugin?

Uninstalling deletes the single inclusabar_settings option from your database — no other data is left behind. Per-visitor localStorage entries live in each visitor’s own browser and aren’t something the plugin (or its uninstall routine) can reach or clear remotely; they’ll persist until that visitor clears their own browser storage.

Does it work with caching plugins?

Yes. The toolbar’s HTML/CSS/JS is identical for every visitor (it’s built from the admin’s saved settings, not per-visitor data), so full-page caching doesn’t cause stale or incorrect output. Each visitor’s individual toolbar choices live in their own browser’s localStorage, entirely independent of your server-side cache.

Is it mobile-friendly?

Yes. The toolbar and panel work with standard tap interactions (no touch-specific code needed), the panel is sized to comfortably fit real phone screens, and its height is capped to the viewport with internal scrolling — so it never gets cut off or grows taller than the screen on short or landscape mobile viewports.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“InclusaBar” is open source software. The following people have contributed to this plugin.

Contributors

Translate “InclusaBar” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.2.0

  • Added: Button Icon Colour setting — the colour of the icon and label on the toolbar button
  • Added: Button Corner Radius setting — pixels or a percentage, from square (0) to fully round (50%)
  • Added: Live contrast check between the button and icon colours on the Settings page, with a one-click recommended icon colour and a warning when a low-contrast pair is saved
  • Changed: Plugin renamed from AccessiPress to InclusaBar, as the original name was too similar to an existing name in the WordPress ecosystem
  • Changed: Plugin slug, folder, main file, and text domain are now inclusabar
  • Changed: Settings are stored under a new option name — settings saved under the previous name are not carried over and return to their defaults until saved again
  • Changed: “Primary Colour” setting renamed to “Button Colour”
  • Changed: Settings page grouped into Toolbar Appearance and Text Adjustments sections
  • Changed: Toolbar panel has a firmer outline so it stands out on white and light-coloured pages
  • Changed: Toolbar button is fully solid at all times (the see-through resting state is removed)
  • Changed: Button hover shade moves away from the icon colour so the icon keeps its contrast
  • Changed: The active-feature dot has a white ring so it shows on any button colour
  • Fixed: Settings page labels are linked to their fields for screen readers

1.1.1

  • Fixed: Big Cursor now shows a hand/pointer cursor over links, buttons, and their contents (previously stayed the plain arrow when hovering nested content inside a clickable element)
  • Fixed: Big Cursor’s hand/pointer shape now uses a proper hand illustration instead of a blocky approximation
  • Changed: Toolbar toggle button rests at reduced opacity when idle, restoring to full opacity on hover/focus/open
  • Changed: Toggle button is smaller on phone-width screens
  • Updated: Expanded Features descriptions, added a mobile-friendly FAQ and Screenshots section

1.1.0

  • Added: Line Height control — independent stepper (alongside Text Size) with configurable step size and max steps
  • Added: Dyslexia-Friendly Font toggle
  • Added: Grayscale toggle
  • Added: Big Cursor toggle
  • Fixed: Panel no longer grows taller than the viewport — height is capped with internal scrolling so every setting stays reachable on short screens
  • Fixed: Scrollbar chrome hidden on the panel while keeping it fully scrollable
  • Added: Soft scroll fade at the top/bottom of the panel, shown only while there’s more content to scroll to

1.0.9

  • Added: Edge Offset setting — a pixel value controlling the distance from both edges of the chosen corner (default 10px)

1.0.8

  • Added: Z-Index setting — control how the toolbar stacks relative to fixed headers, footers, and other overlapping elements

1.0.7

  • Fixed: Font size + and − buttons now highlight in blue when the font level is non-zero, matching the visual feedback of the toggle buttons below

1.0.6

  • Added: Active-feature indicator badge on the toggle button — a blue dot with a white ring sits at the top-right of the button whenever any accessibility feature is on, so users can see at a glance that something is active even when the panel is closed.

1.0.5

  • Fixed: Toolbar no longer loads in the WordPress admin, the block editor, or page builder editors (Bricks, Elementor, Breakdance, Beaver Builder, Divi, Oxygen, WPBakery, Brizy).

1.0.4

  • Fixed: Toggle switch circle not visible when ON in dark mode — active track now uses a bright blue (#3b82f6) instead of a dark blue that blended into the panel background.
  • Fixed: Inactive toggle track made slightly lighter in dark mode for better contrast.
  • Fixed: “Reset All Settings” button colour now correctly shows in dark mode — brighter red with !important to prevent theme CSS overriding it.

1.0.3

  • Fixed: Dark mode support — toolbar panel, toggle rows, and switch tracks now adapt correctly when the OS/browser is in dark mode.

1.0.2

  • Fixed: Removed custom update checker (not permitted in WP.org-hosted plugins).
  • Fixed: Removed build.sh development script from plugin files.
  • Fixed: Changelog output now passed through wp_kses_post() for proper escaping.
  • Fixed: Tab parameter sanitised with sanitize_key() / wp_unslash() before use.
  • Updated: Tested up to WordPress 6.9.

1.0.1

  • Fixed: Plugin toolbar and panel now explicitly use a system sans-serif font stack, preventing body font inheritance from the active theme.

1.0.0

  • Initial release
  • Font size controls with increase, decrease, and reset
  • High contrast toggle
  • Reduce motion toggle with OS preference detection
  • Enhanced focus indicators
  • Reading mode (line height + letter spacing)
  • Force link underlines
  • localStorage persistence
  • Settings page with toolbar position, colour, and font step configuration
  • Changelog viewer in admin settings