UX, tilgjengelighet og design etter gjennomgang
WCAG: - Mørk modus: --on-accent-token gir mørk tekst på lys aksent (knapper, badges, valgt fane, skip-lenke) – var 1.8:1, nå ~11:1. - Editor-feltet har label og aria-describedby; forhåndsvisningen er ikke lenger aria-live (leste opp hele innlegget for hvert tastetrykk). - Bilder settes inn med alt-plassholder markert for overskriving, som eget avsnitt etter gjeldende linje. - Berøringsmål ≥ 44px (nav, verktøylinje, lenkeknapper, select). - Faner: roving tabindex + piltaster. Knapper med tekst i stedet for emoji, aria-keyshortcuts på fet/kursiv. h1 på forsiden. - code bryter lange stier (innstillinger rullet horisontalt på mobil). UX: - Ulagret-vakt dekker også tittelen, med synlig «Ulagrede endringer». - 413 ved for stor fil gir lesbar melding; brukernavn beholdes ved feil innlogging; full publiserings-URL vises i editoren; historikk- lenke i meta-linjen; norsk datoformat i historikken; passord-hint. Design: - Header med favicon, større brødtekst/overskrifter, smalere måltekst, bedre avstander i innlegg og liste, footer som flex uten løse «·», nøytral sekundærknapp, innrammet faresone, editor-textarea fyller panelet, valgt fane henger sammen med panelet. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcEy43fNYpwg6K6oTKakWR
This commit is contained in:
parent
d47558c6c1
commit
ae3d6a4c0c
12 changed files with 182 additions and 92 deletions
|
|
@ -247,3 +247,13 @@ def test_slug_uniqueness(client, cfg):
|
|||
)
|
||||
ids.append(r.headers["Location"].split("/admin/edit/")[1])
|
||||
assert ids == ["_owner/samme", "_owner/samme-2"]
|
||||
|
||||
|
||||
def test_editor_accessibility_markup(client):
|
||||
post_id = _create_post(client)
|
||||
html = client.get(f"/admin/edit/{post_id}").text
|
||||
assert '<label for="body" class="visually-hidden">Innhold</label>' in html
|
||||
assert "aria-live" not in html.split('id="preview"')[1].split("</div>")[0]
|
||||
assert 'aria-keyshortcuts="Control+B"' in html
|
||||
front = client.get("/").text
|
||||
assert "<h1" in front
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue