Block Accessibility Checks
by Troy Chaplin on WordPress.org

Block Error Validation - Button block showing accessibility error with red border and detailed error message preventing publication, also demonstrates multiple errors in a grouped display
Block Accessibility Checks is a comprehensive WordPress plugin that proactively prevents accessibility issues in your content before they reach your audience. Designed for the Gutenberg block editor, it provides real-time validation that ensures your images, buttons, tables, headings, and galleries meet WCAG (Web Content Accessibility Guidelines) requirements.
Unlike reactive accessibility tools that scan published content, this plugin catches problems during the editing process—giving immediate visual feedback and preventing publication of content with critical accessibility errors. Content creators get clear guidance on what needs fixing, while developers can extend the system with custom checks for any block type.
Whether you’re a content creator ensuring your posts are accessible, a developer building accessible blocks, or an organization maintaining compliance standards, Block Accessibility Checks provides the tools you need to create inclusive content effortlessly.
Key Features:
- Real-time Visual Feedback – See accessibility issues instantly with color-coded borders around problematic blocks and detailed error messages in the block inspector panel
- Smart Publishing Control – Prevents publication of content with critical accessibility errors while allowing warnings with user awareness
- Comprehensive Block Coverage – Built-in checks for images, buttons, tables, headings, and galleries with multiple validation rules per block type
- Advanced Heading Validation – Document-wide hierarchy checking prevents skipped heading levels and ensures proper content structure
- Intelligent URL Validation – Real TLD validation using the Public Suffix List ensures only legitimate domains are accepted
- Configurable Settings – Granular control over each check’s severity (error/warning/disabled) with an intuitive admin interface
- Issue Categorization – Clear distinction between accessibility issues and validation errors for better understanding
- Developer-Friendly API – Comprehensive hooks and filters system for registering custom accessibility checks
- External Plugin Support – Works seamlessly with custom blocks from third-party plugins and themes
How It Works:
The plugin provides immediate feedback as you edit content. When accessibility issues are detected, blocks are highlighted with visual indicators and detailed messages explain how to fix the problems. Critical errors prevent publishing until resolved, while warnings allow publication with user acknowledgment.
Built-in Accessibility Checks:
- Button Blocks – Ensures buttons have descriptive text content and valid link destinations with real URL validation
- Image Blocks – Requires alt text (unless marked decorative), validates length, prevents caption duplication, and detects non-descriptive patterns
- Table Blocks – Requires proper headers or captions for screen reader navigation
- Heading Blocks – Validates proper heading hierarchy (no skipped levels), ensures appropriate first heading level, and configurable heading level restrictions
- Gallery Blocks – Applies comprehensive image accessibility checks to all gallery items
Perfect For:
- Government websites requiring WCAG compliance
- Educational institutions with accessibility mandates
- Businesses committed to inclusive web content
- Developers building accessible WordPress themes and plugins
- Content teams who want accessibility guidance built into their workflow
Developer API:
Extend the plugin with custom accessibility checks for any block type. The robust API includes registration functions, validation hooks, and automatic JavaScript integration. Perfect for plugin developers who want to add accessibility validation to their custom blocks.
Getting Involved
If you would like to get involved and contribute to the development of this plugin or view it’s source code you can find more information in the plugins GitHub repo.