WordPress plugin intelligence profile

Tablefold

Stack table blocks into readable cards on small screens instead of scrolling sideways. Server rendered, no JavaScript, helps with WCAG 1.4.10.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version1.0.0
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.7 · PHP 7.4
Directory statusactive
Last directory update2 Nov 202634m ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Tablefold version 1.0.0 as active, updated 34m ago and tested up to WordPress 7.1.

Overview

About this plugin

A data table that is wider than a phone screen forces the reader to scroll sideways. 2 says content must be readable at 320 pixels wide without scrolling on two axes, which is exactly what a wide table does. The same criterion is what the French RGAA 4 checks under its own numbering.

Tablefold adds one option to the table block of the WordPress editor: Stack on small screens. Below the width you pick, the table stops behaving like a table. Each row becomes a card, and each value is preceded by the name of its column, so the reader never has to remember which column they were in.

Accessibility is the point, not a side effect

Turning table elements into blocks is easy. Doing it without destroying the table for screen reader users is the part most snippets get wrong, because display: block silently removes the implicit ARIA role of every table element. This plugin writes those roles back: table, rowgroup, row, columnheader and cell.

1 Info and Relationships.

The header row is hidden from sight, never from assistive technology. It is clipped, not set to display: none, so it stays in the accessibility tree. The visible label drawn next to each value comes from CSS generated content, which is not announced reliably by every screen reader, so it is treated as a visual convenience only.

The header information is always carried by the roles and the hidden header row as well, never by the pseudo-element alone.

What it does not do

Not every table can be stacked honestly. A table with merged cells, with its headers in the first column, or with no header row at all has no one-to-one mapping between a value and a column name, and inventing one would mislabel the data. When the plugin detects any of those, it changes nothing and leaves the table scrolling horizontally.

It then makes that scrolling container reachable with a keyboard and gives it an accessible name, which the block does not do on its own.

How it works

The transformation happens on the server, when the page is rendered. The plugin reads the block markup with the HTML API that ships with WordPress and writes attributes into it. Nothing is stored in the saved content, so your tables stay valid whether the plugin is active or not, and removing the plugin leaves no broken blocks behind.

  • No JavaScript on the front end. None at all.
  • No outbound network request, no tracking, no analytics.
  • No database option is created.
  • No external font, script or stylesheet is loaded.
  • The stylesheet loads only on pages where a table was actually transformed.

About compliance

No plugin can make a site compliant with an accessibility standard, and this one does not claim to. Accessibility depends on your content, your theme, and every other plugin you run. Responsibility for meeting any standard stays with the site owner.

What this plugin does is remove one specific and very common failure: a data table that forces the reader to scroll sideways on a narrow screen. 2 level AA:

  • 1.3.1 Info and Relationships, by restoring the ARIA roles that display: block removes
  • 1.3.2 Meaningful Sequence, by never reordering content
  • 1.4.1 Use of Color, by telling labels apart from values with weight, not colour
  • 1.4.3 Contrast, by inheriting the text colour your theme already uses instead of setting its own
  • 1.4.4 Resize Text and 1.4.10 Reflow, by removing the horizontal scroll
  • 2.1.1 Keyboard and 2.4.7 Focus Visible, on the container of tables that keep scrolling

The same criteria are what RGAA 4 checks under its own numbering. Testing with a real screen reader is still on you; the source repository lists the expected result for each table structure.

Development

com/Fyrins/tablefold. The editor script and the stylesheet are built with @wordpress/scripts, the official tooling, and the sources live in src/ in the repository.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • a11y
  • accessibility
  • responsive
  • tables
  • wcag
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.7 · PHP 7.4
Update activity2 Nov 202634m ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.