Give every fastext destination a distinct mark; add skip-link, fix aria-label
All checks were successful
Deploy / deploy (push) Successful in 23s
All checks were successful
Deploy / deploy (push) Successful in 23s
Colours: "if the intent is to have them all different colors than lets have them all different colors." The locked eight only give five safe as full text (blue fails contrast, black's invisible on black), so the other three get their own treatments instead of sharing plain ink: Watch gets blue as a swatch-only accent (the button cap's colour, not the label), Activity gets an ordered-dither swatch (the other legal way to mark something without a ninth colour), and Settings alone keeps plain ink deliberately, as the one page with no live status of its own. Accessibility (items 1 and 3 from the design review, item 2 skipped per request — the header's download figure stays live and unmuted): - Added a skip-link, off-screen until focused, jumping past the 8-item top nav straight to each page's #main-content. - Renamed the nav's aria-label from "Fastext" (meaningless without the visual teletext context) to "Page navigation".
This commit is contained in:
parent
15936027de
commit
5dd49c505c
4 changed files with 79 additions and 28 deletions
34
app.py
34
app.py
|
|
@ -1303,24 +1303,34 @@ def service_urls():
|
|||
}
|
||||
|
||||
|
||||
# Every destination, for the top of every page but the index. Order
|
||||
# matches nav_items. The locked eight teletext colours leave exactly
|
||||
# five that read as text on black without inventing a ninth tone or
|
||||
# borrowing a colour that already means something else here: the four
|
||||
# with a real keyboard shortcut (r/g/y/c), plus magenta for Requests —
|
||||
# not arbitrary, it's the same --pending magenta a request already
|
||||
# shows once approved elsewhere, and Requests IS "waiting on a human".
|
||||
# Blue fails contrast as text and black is invisible on black, so the
|
||||
# three destinations left over (Watch/Activity/Settings) share plain
|
||||
# ink rather than a sixth colour that doesn't exist in this palette.
|
||||
# Every destination, for the top of every page but the index, each
|
||||
# with its own distinct treatment. Order matches nav_items. The
|
||||
# locked eight teletext colours only give five that read as full-
|
||||
# saturation text on black (blue fails contrast there), so getting all
|
||||
# eight distinct without inventing a ninth colour takes three
|
||||
# treatments, not one:
|
||||
# - Five flat colours, text and swatch both: the four with a real
|
||||
# keyboard shortcut (r/g/y/c), plus magenta for Requests — not
|
||||
# arbitrary, it's the same --pending magenta a request already
|
||||
# shows once approved elsewhere, and Requests IS "waiting on a
|
||||
# human".
|
||||
# - Blue as a swatch-only accent (Watch): legible as a small solid
|
||||
# cell — "the physical coloured button on the remote" — but not as
|
||||
# the row's own text colour, where it fails contrast.
|
||||
# - An ordered dither swatch (Activity): the one other legal way to
|
||||
# get a distinct mark out of this palette per base.css's own first
|
||||
# discipline, without smuggling in a ninth hue.
|
||||
# Settings keeps plain ink deliberately — the one purely administrative
|
||||
# destination with no live status of its own, so it's the one page
|
||||
# that gets no colour at all rather than an arbitrary last one.
|
||||
FULL_FASTEXT = [
|
||||
("k-red", "r", "100", "Index", "/"),
|
||||
("", "", "101", "Watch", "/watch"),
|
||||
("k-blue", "", "101", "Watch", "/watch"),
|
||||
("k-green", "g", "102", "Library", "/library"),
|
||||
("k-yellow", "y", "103", "Discover", "/discover"),
|
||||
("k-magenta", "", "104", "Requests", "/requests"),
|
||||
("k-cyan", "c", "105", "System", "/system"),
|
||||
("", "", "106", "Activity", "/activity"),
|
||||
("k-dither", "", "106", "Activity", "/activity"),
|
||||
("", "", "900", "Settings", "/settings"),
|
||||
]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue