3.14.0
Every PDF, Word file and public page Kenii makes is now checked for accessibility on every build, and the checks found and fixed real problems students were meeting on live pages.
- Changed **Kenii now needs PHP 8.2 or later**, for the accessible PDF engine. The old PDF library (Dompdf) is removed. On an older PHP the plugin turns itself off with a notice instead of stopping the site.
- Changed Building a PDF asks WordPress for up to 768 MB of memory, since a full catalog peaks near 450 MB.
- Changed PDFs are set in the fonts they always actually used (DejaVu Serif body text), now embedded in every file. Spacing is close to before; labels are slightly bolder.
- Changed The saved link color is fitted to pass contrast in the same way as the brand color.
- Changed `tests/public-a11y.mjs` loads every public page type and checks the whole page against WCAG 2.0, 2.1 and 2.2 A and AA plus heading and landmark rules, failing only on Kenii markup. `tests/a11y-surfaces.json` lists every public shortcode and block, and `tests/a11y-coverage.php` fails the build when one is missing.
- Changed `tests/pdf-ua.sh` validates every kind of PDF with veraPDF against PDF/UA-1, plus a document built from pasted word processor markup. `tests/docx-a11y.php` checks the Word export. `tests/brand-contrast-sweep.mjs` runs six real school colors in CI. Both page checks count the Pathways `kp-` markup as Kenii's.
- Changed The admin screen check now includes the WCAG 2.1 rules it was skipping.
- Fixed **Every PDF is a tagged, accessible document.** The catalog, credential, Reports, curriculum report and proposal evidence PDFs were untagged, so a screen reader got a stream of text with no headings, lists or table structure. All five now come from one engine in PDF/UA-1 mode, with the document language, title, heading structure, table headers and image text a screen reader needs.
- Fixed **The catalog PDF now shows its running header and page numbers.** The old engine skipped the script that drew them, so every page went out without either.
- Fixed **Text pasted from a word processor no longer stops a PDF.** Fonts such as Calibri or Arial are set in the nearest font Kenii ships, and an image with no alternative text is left out of the PDF instead of being tagged with made-up text.
- Fixed **Generated PDFs rebuild once after this update**, so no catalog or credential PDF made by the old engine stays public.
- Fixed **Hero text and card counts stay readable on a light brand color.** Hero titles use the computed text-on-brand color, community card counts are fitted to their community color, and brand-colored text on a light brand tint is fitted to that tint. Colors that already passed are unchanged.
- Fixed **Career outcomes and transfer sections use the right heading level**, one level under the page title, with a heading level setting for other placements.
- Fixed **Report PDF tables size their columns to what they hold.** A long text column no longer wraps one word per line beside a number column, and number headers no longer run into each other.
- Fixed **Program and career community cards use the right heading level.** Card titles sat two levels under the page title; they now sit one level under it, and the Program Grid and Career Communities blocks take a heading level for other placements.
- Fixed **Headings a college types now fit the page.** A college picks heading levels by how they look, so a program description under a level two heading often started at level four, and pages and documents skipped levels. Headings in college text are now fitted under their real parent everywhere Kenii prints that text, and in every catalog document. A section with no title of its own no longer drops its groups a level too far.
- Fixed **Brand colors can no longer break contrast.** Text on the brand color and the brand color as text are now worked out from whatever color the college picks. A color that already passes looks exactly as it did; a light color such as gold gets dark button text and a darker shade for text.
- Fixed **The hero no longer covers the page title on other themes.** It slid up a fixed 130 pixels, sized for one college's see-through header. That is now the setting "Space under a see-through site header". Sites that already ran Kenii keep 130, so nothing moves; new sites start at 0.
- Fixed **Compass and the catalog wrapper no longer add a second main landmark** inside the page's own.
- Fixed **The Word export declares its language and keeps all six heading levels**, instead of folding levels three to six into one.
- Fixed Opening a board body's settings at an address with no body now explains where boards are made instead of loading forever.