Markus Michalski FAQ

Accessibility Widget

Accessibility widget for Sylius 2: font size, contrast, colour-vision filters, blue light filter, reduced animations and skip link. Cookie-free, configurable per channel, readable through the Shop API.

Deutsche Version

Back to Sylius Plugins

Accessibility Widget

Sylius
PHP
License

This documentation always describes the latest published version.

Live Demo: Try this and other plugins live — no installation, no risk: demo.markus-michalski.net

Overview

A floating accessibility widget for Sylius 2 shops. Visitors adjust font size, contrast, colour-vision filters, a blue light filter and reduced animations themselves, plus a skip link for keyboard users.

Cookie-free: a visitor's choices live in the browser's localStorage only. The plugin sets no cookie and does not send the choices to the server (see Privacy).

This plugin alone does not make a shop accessible. It gives visitors a few aids but cannot fix a theme's own contrast, markup or content. The documentation makes no claim of conformance with any law or standard; an audit of the whole shop is still required.

graph LR
    A["Storefront Twig Hook"] --> C["Widget Config Resolver"]
    B["Shop API Request"] --> C
    C --> D["Admin Channel Settings"]
    D --> E["Result"]
    E --> F["Twig Render"]
    E --> G["JSON Response"]

Documentation

Page Content
Installation and Operation Installation, update, uninstall
Configuration Settings per channel, admin grid, practical examples
Storefront Integration Twig hooks, skip link target, theming, behaviour in detail, theme compatibility
Shop API / Headless Endpoint, request/response, error format
Extending Public interfaces, template override, internal classes
Privacy What is stored in the browser, no cookies, no external requests
Troubleshooting and FAQ Common problems, known limitations, frequently asked questions
Technical Details Flow, plugin structure, entity

Features

Feature Description
Five tools Font size (small/normal/large), contrast (normal/high/inverted), colour-vision filters (protanopia, deuteranopia, tritanopia), blue light filter, reduce animations
Skip link A keyboard "Skip to main content" link at the very top of the page, visible only on focus
Cookie-free Settings live in localStorage only, no cookie
Per channel Widget on/off, position and offered tools separately for every channel
Dual-mode The Twig storefront renders the widget; the same per-channel settings are readable through the Shop API
No build step Plain CSS/JavaScript, installed with assets:install

Requirements

Requirement Version Notes
PHP ^8.3
Sylius ^2.2
Symfony ^7.4
Database MySQL 8 or MariaDB The migration is written in MySQL syntax and deliberately aborts on any other platform; PostgreSQL is not supported

License

License

Commercial license: one license covers one Sylius installation (all channels plus its development and staging environments). Redistribution is not allowed, updates are included for 12 months from purchase.

Support

For questions about the license, technical questions or bugs, reach me at support@markus-michalski.net.