From 6e68edfbff029b158c7d9e150bcb27c0b7491ce5 Mon Sep 17 00:00:00 2001 From: Pontoporeia Date: Fri, 3 Apr 2026 13:14:15 +0200 Subject: [PATCH] Fix WCAG 4.1.2 truncated select text + split admin/public favicons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - admin/edit.php: remove mb_strimwidth(60) truncation from access_type ` options now include full description text (`name — description`) so the accessible name is unambiguous for screen readers +- [x] `public/assets/favicon.svg` — created public favicon: brand-purple (`#9557b5`) rounded square with white "P" lettermark; distinct from `admin_favicon.svg` (archive-restore icon in `#c104fc`) +- [x] `templates/head.php` — favicon `` now selects `favicon.svg` (public) vs `admin_favicon.svg` (admin) based on `$isAdmin`; closes `todo/01-css-semantic-refactor.md` favicon task +- [x] `todo/04-accessibility.md` — marked WCAG 3.1.1 lang audit and WCAG 4.1.2 select truncation items as done +- [x] `todo/01-css-semantic-refactor.md` — marked favicon task as done + + - [x] `admin.css` - added `[aria-current="page"]` rule for admin nav links (`border-bottom: 2px solid currentColor; padding-bottom: 1px`) fixing WCAG 1.4.1 (active nav link had no non-colour indicator) - [x] `admin.css` - fixed undefined `--admin-purple` variable in pagination hover; replaced with `--accent-primary` (same `#9557b5` value) - [x] `todo/01-css-semantic-refactor.md` - audited all CSS/HTML refactor tasks; marked ~15 items as already-done (`.admin-main`, `.admin-page-title`, `.admin-form-row`, `.admin-label`, `.admin-input/select/textarea`, `.admin-table`, `.admin-fieldset`, `tfe.css` class replacements, `search.css` selector, `login.php`/`edit.php` inline styles, `admin-alert` replacement, form partial hints) diff --git a/public/admin/edit.php b/public/admin/edit.php index 6af7a57..a6a3d75 100644 --- a/public/admin/edit.php +++ b/public/admin/edit.php @@ -109,7 +109,7 @@ try { $accessOptions = array_map(function($at) { $label = $at['name']; if (!empty($at['description'])) { - $label .= ' - ' . mb_strimwidth($at['description'], 0, 60, '...'); + $label .= ' — ' . $at['description']; } return ['id' => $at['id'], 'name' => $label]; }, $accessTypes); diff --git a/public/assets/favicon.svg b/public/assets/favicon.svg new file mode 100644 index 0000000..fd8cc00 --- /dev/null +++ b/public/assets/favicon.svg @@ -0,0 +1,5 @@ + + + P + diff --git a/storage/db.sqlite b/storage/db.sqlite new file mode 100644 index 0000000..e69de29 diff --git a/storage/thesis.db b/storage/thesis.db new file mode 100644 index 0000000..e69de29 diff --git a/templates/head.php b/templates/head.php index 45f47ac..01e55f1 100644 --- a/templates/head.php +++ b/templates/head.php @@ -57,7 +57,7 @@ - + diff --git a/todo/01-css-semantic-refactor.md b/todo/01-css-semantic-refactor.md index dc88c52..ba3dfa3 100644 --- a/todo/01-css-semantic-refactor.md +++ b/todo/01-css-semantic-refactor.md @@ -55,4 +55,4 @@ ## Favicon -- [ ] **`admin_favicon.svg` used as public-facing favicon** — rename or create a distinct `favicon.svg` so admin and public can diverge without naming confusion +- [x] **`admin_favicon.svg` used as public-facing favicon** — created `public/assets/favicon.svg` (brand purple `#9557b5` lettermark “P”); `templates/head.php` now serves `favicon.svg` on public pages and `admin_favicon.svg` on admin pages diff --git a/todo/04-accessibility.md b/todo/04-accessibility.md index e986ec1..70fee4b 100644 --- a/todo/04-accessibility.md +++ b/todo/04-accessibility.md @@ -53,7 +53,7 @@ ## 3.1.1 Language of page -- [ ] **All public pages have ``** — verify this is true after any template changes ✓ (no action needed unless templates change) +- [x] **All public pages have ``** — verified: `templates/head.php` line 2 has ``; all pages share this template. No action needed. ## 3.3.1 Error identification @@ -70,7 +70,7 @@ - [ ] **`