BACK TO DIRECTORY

Widewalk – Accessibility Toolbar

by Wallet Up

0.0
(0 ratings)

No account to open, no CDN, no cookie, nothing tracked, and no vendor branding on your site. Widewalk runs entirely from your own WordPress install, which keeps your visitors’ data on your own domain.

Nothing is sent anywhere on its own. One optional feature can keep a weekly record of your own report’s three counts off your server, and it moves only when you press the button that sends it. Nothing about your visitors is ever part of it.

Widewalk puts a small button in the corner of your site. A visitor presses it and
a panel opens with the settings they need in order to read you: bigger text, more
air between the lines, letters further apart, links they can actually pick out of
a paragraph, a calmer palette, a pointer large enough to find. Whatever they
choose is kept in their own browser. Nobody else’s view of your site moves an inch.

You switch it on once. It works with the theme you already have, on the front end
you already have, and it asks nothing of your visitors in return.

Light, private, and yours

  • Free in the way that matters: no account, no API key, no third-party service, nothing to buy on a second screen.
  • About 8 KB gzipped in total. One small script and its stylesheet, no framework and no jQuery.
  • It renders in a shadow root, so a hostile theme cannot break it and it cannot leak into your page. It is tested against a theme built to break it.
  • Works past WordPress too: one script tag drops the same panel onto pages you keep WordPress only to administer.

What you decide

All twelve controls have their own switch, so you offer the ones that suit your
site and leave the rest off. You choose which bottom corner the button sits in.
You publish your accessibility statement from the same screen, in a long or a
short version. That is the whole settings page, and there is nothing to
configure before it works.

The name comes from pavements built wide enough for everyone at the same time:
the wheelchair, the pushchair, the delivery trolley, and the people walking
alongside them. Widen the path rather than build a second one round the back.

What a visitor can change

Each control steps through its settings as it is pressed, and the button says
which step it is on. “Line Height (1.75x)” or “Low Saturation” tells a visitor
where they are without making them guess.

  • Bigger Text, at 110%, 125% and 150%
  • Line Height, at 1.5x, 1.75x and 2x
  • Letter and word spacing, from light through to heavy
  • Invert Colors, then High Contrast
  • Saturation: low, high, or monochrome
  • Highlight Links, then Boxed Links
  • Dyslexia Friendly type
  • Big Cursor, then Bigger Cursor
  • Pause animations
  • Hide images
  • Text alignment: left, centre, right
  • Tooltips, which read out the descriptions a screen reader gets and a mouse user never sees

Twelve of them, and each has its own switch on the settings screen. Offer the
ones that suit your site and leave the rest off.

This is not an overlay

Worth saying plainly, because that word has earned its reputation. Widewalk does
not scan your pages, does not rewrite them for everybody, and makes no claim
about your legal compliance. Those three promises are what the overlay industry
sells, and no plugin is in a position to keep them.

Accessibility lives in your own markup. Your headings, your alt text, your colour
contrast, your link text, your forms. Five minutes with any plugin will not
change what is underneath.

What Widewalk does is smaller and it is true. It hands a visitor the settings
they would otherwise have to fight your stylesheet for, which is real help to
somebody with low vision, or dyslexia, or a migraine coming on, or a phone held
up in bright sunlight. Do the underlying work as well. This sits beside it.

It writes your accessibility statement

Any site that offers a panel like this ought to say what it is aiming for and how
to report a problem. Most plugins tell you to go away and write one. Widewalk
writes it for you, out of what you have actually switched on, and shows you the
whole thing before a word of it is published.

Choose the complete version, which follows the structure the W3C recommends, or
the short one if your site is small. You supply two things: an address where
somebody can report a barrier, and the number of working days you will take to
reply. Promise something you can keep.

Publish it and you have an ordinary WordPress page, yours to edit like any other.
Widewalk will not overwrite it later. The wording claims partial conformance and
nothing beyond that, because a plugin cannot certify a site it has never seen.

Built to survive your theme

The panel renders inside a shadow root. Your stylesheet cannot reach into it, and
its stylesheet cannot leak out into your pages. It has been measured against a
theme written for the sole purpose of breaking it: global button rules marked
!important, a forced box model, oversized icons, a page claiming the highest
stacking order there is. It came through without a mark.

Block themes, classic themes, page builders. It mounts on wp_footer, which
every theme fires.

Works past WordPress, too

Plenty of sites keep WordPress for the admin and build their public pages in
plain PHP, in React, or as static files. Nothing on those pages runs a WordPress
footer, so the panel never arrives. Add one line to your own instead:

<script src="/wp-content/plugins/widewalk/assets/embed.js" defer></script>

Same panel, same controls, the settings you already chose. Nothing else to set up.

Light, and quiet about it

  • About 7 KB gzipped covers everything a visitor downloads. One stylesheet, one small script, no framework, no jQuery.
  • Switch the panel off and nothing at all is added to your pages.
  • No account, no API key, no third-party service, no fonts pulled from somebody else’s server.
  • Nothing is tracked about your visitors and no cookie is set. Preferences sit in local storage on the visitor’s own device, under a single key.
  • One request can leave, and only if you press the button that sends it. It carries counts, never content. See External services below.

Made to the standard it talks about

  • Every control works from the keyboard alone, with a focus outline you can see.
  • The panel is a labelled dialog. Focus stays inside it while it is open, and returns where it came from when it closes.
  • Changes are announced to screen readers as they happen.
  • Motion stops when a visitor’s device has asked for less of it.
  • Text and background inside the panel meet WCAG 2.2 AA contrast.

Who installs it

Sites whose readers are not all twenty-five with good eyes and a large monitor.
Charities, galleries, schools, clinics, councils, artists, shops, small
newsrooms. Anywhere that would rather be read than admired.

External services

Widewalk works fully without contacting anything. One optional feature sends a
short note to WalletUp, and only after you press the button that sends it.

What it is. A dated record of your content report’s three counts, kept once a
week off your own server, so you can show the accessibility work you are doing,
watch the counts fall over time, and still have the record after a reinstall.

What is sent, and when. Once at the moment you press the button, then once a
week while it stays switched on. Every field is shown on the settings screen,
filled in with your own values, before you press anything:

  • site: your site address
  • token: a random name for this site’s record, made on your site, meaning nothing on its own
  • plugin: the plugin name and version
  • wp: your WordPress version
  • php: your PHP version
  • locale: your site language
  • issues: how many findings the content report counted, as three numbers: critical, serious, moderate

No page content, no post or page titles, no email address, no user account, no
IP-based profile, and nothing about anyone visiting your site.

When a site connects for the first time, WalletUp fetches one public address on
it, /wp-json/widewalk/v1/registry, to confirm the note really came from that
site and not from someone naming it. That address answers with a yes and a
check value; it carries no content and no settings.

To show you your weeks, the settings screen asks for them back with site, token
and the word history, at most once an hour.

Pressing stop sends site, token and the word leave, deletes your numbers there,
and removes everything the plugin kept about it here. Nothing else is sent at
any time.

Where it goes. https://walletup.app/wp-json/widewalk-registry/v1/site , run by
WalletUp. Terms: https://walletup.app/terms/ . Privacy: https://walletup.app/privacy/

For theme developers

Widewalk tells the page about every preference, so a theme can respond in ways the toolbar cannot know about, such as swapping a hero video for a still, reflowing a grid, or replacing a decorative image with its caption.

Attributes on the html element (a stable contract):

  • data-a11y-animations, data-a11y-images, data-a11y-text, data-a11y-invert, data-a11y-saturation, data-a11y-lineheight, data-a11y-spacing, data-a11y-align, data-a11y-links, data-a11y-dyslexia, data-a11y-cursor and data-a11y-tooltips each hold the active level as a number, and are absent when the control is off.
  • data-a11y-os-reduce is “1” when the visitor’s system asks for reduced motion.

Events on document:

  • widewalk:change fires once at load with detail.state (every control and its level), and again on each change with detail.key and detail.level.
  • widewalk:motion fires when animations are paused or resumed with detail.paused, kept for compatibility.

Mark any element the toolbar should leave alone with data-widewalk-keep. Images, media and animations inside it stay untouched when images are hidden or motion is paused.

Screenshots

The panel open on a live page. A visitor sets your site the way they read it, and the choice stays in their own browser.

The panel open on a live page. A visitor sets your site the way they read it, and the choice stays in their own browser.

The panel up close: five quick profiles and the first of the twenty controls. One tap on a profile sets a group of controls at once.

The panel up close: five quick profiles and the first of the twenty controls. One tap on a profile sets a group of controls at once.

The rest of the panel: the newer controls, a reading mode, and quick jumps to any heading or link on the page.

The rest of the panel: the newer controls, a reading mode, and quick jumps to any heading or link on the page.

The settings screen. Switch the panel on, choose where it sits, and pick which of the twenty controls to offer.

The settings screen. Switch the panel on, choose where it sits, and pick which of the twenty controls to offer.

More settings: quick profiles, the reading mode and page navigators, a keyboard shortcut, and the panel's accent colour.

More settings: quick profiles, the reading mode and page navigators, a keyboard shortcut, and the panel's accent colour.

The same page before and after a profile, shown as it happens. One tap resizes the text, switches on a readable font and marks the links. This screenshot is animated.

The same page before and after a profile, shown as it happens. One tap resizes the text, switches on a readable font and marks the links. This screenshot is animated.

Plugin Details

Active Installs
100
Total Downloads
2,784
Version
1.2.0
Requires WP
6.2
Requires PHP
7.4
Tested Up To
7.1.4
Added
2026-09-01
Last Updated
2026-10-14 10:33pm GMT

Ratings

5
0
4
0
3
0
2
0
1
0