Listings: the state strip drawn as Basecoat tabs #842
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#842
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replace the Listings page's top navigation — To decide, Shortlisted, Discarded, Applied, Closed, Everything — with Basecoat's Tabs.
What exists today
templates/jobs/listing_list.html:152-168:<nav aria-label="Listing filters">of whole-page links (nav-link,nav-link-active,aria-current="page"), each with a count; labels fromFILTER_LABELS(listing_views.py:32-39). They are page loads on purpose, because the counts change (:152-155, the view's docstring:42-56).tabs.cssis not imported and itstabs.jsnot vendored. The samenav-linklook is used by the calendar (applications/calendar.html:148) and the sidebar; Documents has a pill strip (cotton/documents_nav.html).What would change
<nav>and the links witharia-current="page".Decisions
role="tab"on them would tell a screen reader something untrue. Recommended: Basecoat's tabs look on the existing navigation links, norole="tab". The alternative — a real tablist with panels — would change how the page loads and counts.c-tab-navused by Listings now and offered to the calendar and Documents strips.Checked against
mainat8c3d03570. From the maintainer's improvements list of 2026-10-07.Fixed in
ac39e5ee2on main.