Skip to content

Releases: bpmore/statamic-a11y-docs

A11y Docs 1.4.0

Choose a tag to compare

@bpmore bpmore released this 16 Sep 20:47
4a8f362

A Documents band on Site Weather's tile, when the free Site Weather addon is installed. The band reads the numbers the dashboard already draws and turns them into weather: clear when nothing fails, through fair, overcast and rain, to storm when a tenth of the library or more has critical problems. Installed but never set up, or nothing checked yet, reads as unknown, never as clear. Clicking the band opens this addon's dashboard. Site Weather is suggested, not required; without it nothing changes.

The remediation queue can reach page two. It has always been fifty findings a page, and a library with 890 untagged PDFs has far more than fifty, but the screen drew no way to the rest. Statamic's own pagination now sits under the table, and the filters survive the page change.

Every table has a header row. The queue and the four dashboard tables had none, so a screen reader read four unlabelled columns, on the one screen in the control panel that exists to report exactly that.

The queue's filters carry visible labels, and the dashboard is titled "Document checks", the same words as the nav item since 1.3.2.

Upgrading re-checks nothing.

A11y Docs 1.3.2

Choose a tag to compare

@bpmore bpmore released this 15 Sep 15:13
b1acdfb

The nav item is "Document checks", under Tools. It was "Documents" under Content, which read as a place to manage documents and sat next to Assets, where the documents actually live. Nothing on these pages creates or edits a document; they check them, so they sit with the other checks. The permission group in the role editor is renamed to match; permissions themselves are unchanged. Upgrading re-checks nothing.

A11y Docs 1.3.1

Choose a tag to compare

@bpmore bpmore released this 14 Sep 23:51

Saving an entry that links to another entry (a Bard link, a Link field, a related field) no longer fails with a TypeError while the gate is on. parse_url() returns false for statamic://entry::<id>, and only null was guarded against. Upgrading re-checks nothing.

1.3.0

Choose a tag to compare

@bpmore bpmore released this 10 Sep 16:28

Fixed, where the refusal was in the wrong place

A refused publish is now drawn in the gate's panel, not under the title.
Statamic renders a validation error next to the blueprint field it is keyed to
and drops it silently otherwise, so the refusal had to name a field, and "this
entry links to 1 document that people using a screen reader cannot read" then
appeared under the Title input and read as a fault in the title. Reported from a
live site.

A11y Gate 0.9 lets a panel block name a refusalKey and draws whatever it finds
under it, so the refusal now appears in the block that already lists the
documents on that page. It falls back to keying a field in two cases, because a
refusal nobody sees is worse than one in the wrong place: an A11y Gate older
than 0.9, asked through PanelExtensions::supports(), and a blueprint without
the panel field on it.

Needs A11y Gate 0.9 or newer for the new placement. Nothing else changes, and
the gate is optional as before. Upgrading re-checks nothing.

1.2.1

Choose a tag to compare

@bpmore bpmore released this 10 Sep 16:28

Added, because the documentation promised it

Withdraw accessibility exemption, on an asset, one or many. The
documentation described withdrawal from the first release and there was no way
to do it: the column existed, active() filtered on it, and nothing in the
control panel ever set it. An exemption was permanent once granted.

The row is not deleted. It records who ended it and when, and an
already-withdrawn exemption is left alone rather than re-stamped, so the time
in the record is the time somebody decided. The action appears only where there
is an active exemption to withdraw.

Fixed, where an upgrade did not arrive

docs:install now applies migrations added after the tables were created.
It returned early on "the tables exist", so a column added in a later release
never reached a site that installed an earlier one. Run it after upgrading; it
reports "already installed" when there is nothing to do.

Upgrading re-checks nothing.

1.2.0

Choose a tag to compare

@bpmore bpmore released this 10 Sep 16:28

Added

Linked documents are reported inside A11y Gate's entry panel. The gate reads
a page's rendered HTML and cannot open a linked PDF, so an entry linking to an
untagged document read as passing there while this addon refused the same save.
Two addons giving an author opposite answers on one screen is worse than either
being absent.

The block lists the documents an entry links to, names what is wrong in the same
words the dashboard and the queue use, and links to the remediation queue. Its
tone is error only when a finding is critical, so its colour means what the
gate's does. It says so when the documents have never been checked, because
silence there reads as "checked, and fine".

Registered only when A11y Gate is installed. Upgrading re-checks nothing.

1.1.4

Choose a tag to compare

@bpmore bpmore released this 10 Sep 16:28

Fixed, where the addon was saying something untrue

docs:report --pdf explains why a snap-confined browser produces no file.
Ubuntu ships Chromium as a snap, which is what Laravel Forge installs, and a
snap gets a private /tmp and cannot write outside the user's home directory.
It exits cleanly and reports the bytes it wrote, to a path nothing else can see,
so the export failed with an error that read as though the browser had crashed.

Measured on a Forge server: --pdf=/tmp/report.pdf produced no file, and the
same run with a destination inside the site produced a valid 17728-byte tagged
PDF.

The error now says the browser exited cleanly but wrote nothing to that path,
and where the binary looks snap-confined and the destination is outside the home
directory it names one that works. Write to storage/report.pdf rather than
/tmp.

Upgrading re-checks nothing.

1.1.3

Choose a tag to compare

@bpmore bpmore released this 10 Sep 16:28

Fixed

docs:report --pdf no longer reports failure while the file is being
written.
The check clears PHP's stat cache and retries for up to a second
before giving up, and includes the process exit code so a real failure is still
diagnosable.

This did not find the cause. 1.1.4 did.

Upgrading re-checks nothing.

1.1.2

Choose a tag to compare

@bpmore bpmore released this 10 Sep 16:28

Fixed, where the documentation could not be followed

The Document accessibility fieldtype is selectable. It shipped hidden from
the field picker, so the install the documentation describes could not be
completed: it says to add a field of type "Document accessibility" to the asset
blueprint, and that option was not there. The status column could only be turned
on by editing YAML by hand.

The fieldtype now carries a title, an icon and a category. It stays out of a
form's field picker, where it has no meaning.

Found by installing on a real site and following the instructions as written.
Upgrading re-checks nothing.

1.1.1

Choose a tag to compare

@bpmore bpmore released this 10 Sep 16:28

Fixed, and it took the control panel down

A 500 on the control panel login page. Forge and similar deploys cache
routes. A cache built before this addon was installed contains none of its
control panel routes, and the navigation item is registered on every control
panel request including login, so it asked for a route that was not there:

production.ERROR: Route [statamic.cp.a11y-docs.dashboard] not defined.

The whole control panel returned 500, and removing the addon did not clear it
because the route cache still had to be rebuilt.

The nav item is now skipped when its route is missing. A missing menu entry is
visible and harmless; a 500 on login is neither. If you hit this, run php artisan optimize:clear after installing.

Upgrading re-checks nothing.