mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 11:09:18 +02:00
WCAG 1.4.1 — Active nav link had no non-colour indicator in the admin panel.
Public nav already had border-bottom via common.css; admin nav had nothing.
admin.css:
- Add `[aria-current="page"]` rule on admin nav links:
border-bottom: 2px solid currentColor; padding-bottom: 1px
This gives a visible underline as a non-colour signal for the active page.
- Fix `--admin-purple` undefined CSS variable in pagination button hover.
The variable was referenced but never defined in variables.css (which was
refactored to use --accent-primary / --accent-secondary). Replaced both
border-color and color usages with var(--accent-primary) (#9557b5 — same
value), restoring the intended purple hover tint on pagination buttons.
todo/01-css-semantic-refactor.md:
- Audited ~15 pending CSS/HTML tasks; all were already implemented.
Marked as 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 h2 selector, admin-alert replacement,
login.php/edit.php inline style removal, form partial hints (<small>).
todo/04-accessibility.md:
- Marked WCAG 1.4.1 admin nav and --admin-purple audit items as completed.
5.4 KiB
5.4 KiB
CSS & Semantic HTML Refactor
CSS class audit: replace with semantic selectors (admin.css / main.css / tfe.css / search.css)
admin.css: Replace.admin-mainwith.admin-body main— already done; CSS uses.admin-body mainadmin.css: Replace.admin-page-titlewith.admin-body main > h1— already done; CSS uses.admin-body main > h1admin.css: Replace.admin-alert/.admin-alert--error/.admin-alert--successwith[role="alert"]/data-type="error|success"attributeadmin.css: Replace.admin-form-rowwith.admin-body form > div— already done; CSS uses.admin-form > div:not(.admin-submit-wrap)grid patternadmin.css: Replace.admin-labelwith.admin-body form label— already done; CSS uses.admin-form > div > labeladmin.css: Replace.admin-input/.admin-select/.admin-textareawith native element selectors — already done; CSS targets nativeinput,select,textareainside.admin-formadmin.css: Replace.admin-hintwith.admin-body form smalladmin.css: Replace.admin-tablewith.admin-body table— already done; CSS uses.admin-body tableadmin.css: Replace.admin-fieldset/.admin-fieldset-legendwith.admin-body fieldset/.admin-body legend— already done; CSS uses.admin-body fieldsetand.admin-body legendmain.css: Replace.card__captionwith.home-body .cards-container li porli > a > pmain.css: Replace.card__mediawith.home-body figuretfe.css: Replace.tfe-meta-listselectors witharticle dl,article dt,article dd— already donetfe.css: Replace.tfe-media-blockwithaside figure— already donetfe.css: Replace.tfe-file-captionwithaside figcaption— already donesearch.css: Replace.repertoire-col > h2— already uses.repertoire-index section > h2system.php: Move inline<style>block tosystem.css
Template HTML changes to match
- In all admin templates, replace
<p class="admin-hint">with<small>elements — already done; partials emit<small>directly - In
tfe.php, removeclass="tfe-meta-list"— target viaarticle dl - In
tfe.php, removeclass="tfe-media-block"— target viaaside figure - In
tfe.php, removeclass="tfe-file-caption"— target viaaside figcaption - In
index.php, removeclass="card__caption"— target viali > a > p
Scattered inline styles in templates
tfe.phpinline styles — already extracted (nostyle=attributes remain inpublic/tfe.php)admin/edit.php: multiplestyle=on.admin-form-rowand banner preview → modifier classes inadmin.css— already done; nostyle=attributes remain inedit.php
Admin semantic HTML (sections IX–XVI)
add.php/edit.php: Replace<div class="admin-form-row">with CSS grid on<form>children — already done via form partials; rows are bare<div>inside.admin-formadd.php/edit.php: Replace inner wrapper<div>in multi-control rows — already done; partials use<small>for hintsadd.php/edit.php: Replace<div class="admin-checkbox-list">with<ul>; each<label class="admin-checkbox-label">becomes<li>containing<label>add.php/edit.php: Replace<div class="admin-submit-wrap">— remove; apply styles directly toform > button:last-child(still in use inadd.php,edit.php,login.php)add.php/edit.php: Replace<div class="admin-alert admin-alert--error/--success">with<p role="alert">/<p role="status">— already done viaflash-messages.phpindex.php: Replace<div class="admin-stats">/<div class="admin-stat">children with<dl>/<dt>/<dd>index.php: Replace<div class="admin-maintenance-bar">with<aside role="status">or<p role="status">index.php: Addrole="toolbar" aria-label="Actions groupées"to<div class="admin-bulk-actions">index.php: Addscope="col"to all<th>cells in the admin tableindex.php: Add non-colour indicator +aria-label="Statut : …"to status badge<span>elements (viastatus-badge.phppartial)tags.php: Addscope="col"to<th>cellstags.php: Move inlinestyle="margin-top:.35rem;"on forms →.admin-inline-form + .admin-inline-formselectorthanks.php: Replace<div class="admin-thesis-info">with<section>+<h2>heading; CSS targetsmain > sectionaccount.php: Replace<div class="admin-account-status">with<dl>;__row→<div>,__label→<dt>account.php: Replace<div class="admin-danger-zone__description">with<p>account.php: Movestyle="margin-top:3rem;"on danger zone heading → CSS modifier classlogin.php: Wrap login content in<main>(currently no main landmark)login.php: Extract inline styles on.admin-form-rowand.admin-submit-wrap—login.phphas nostyle=attributes;.admin-login-boxmodifier inadmin.cssalready handles the compact layout
Favicon
admin_favicon.svgused as public-facing favicon — rename or create a distinctfavicon.svgso admin and public can diverge without naming confusion