Search and filter placeholders fail contrast in 20 of 25 palettes #302
Reference in New Issue
Block a user
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?
No theme styles
::placeholder, so the search box and the feed filter show the browser's grey, rgb(117,117,117), whatever the theme. Those placeholders are also the fields' only label ("Search Test Show…", "Filter feeds…";web/index.html:31,:39).Measured in Playwright, placeholder against the field's fill, every theme and mode (AA text needs 4.5:1):
Glass is approximate: its bars are translucent.
Found in an interface review (2026-10-19). WCAG 1.4.3, 3.3.2.
Fix:
::placeholder{color:var(--faint)}inweb/app.css(--faintis already held to 4.5:1 onbg,panelandpanel2bytests/contrast.js), and anaria-labelon each field so its name does not depend on the placeholder.The dialogs' placeholders are the same browser grey and fail in the same 20 of 25 palettes: Add a feed's URL (
#nurl), a feed's Settings word boxes (#skwin,#sblockin), New signal's name and description (#sgname,#sgdesc) and its word box (#sgkwin), and Settings' API token name (#tokname). The::placeholderrule covers them all. Add a feed's URL is also named only by its placeholder: #307.Fixed in
6ec2c35:::placeholdertakes each theme's--faint, which tests/contrast.js already holds to 4.5:1, and the search and filter boxes have names (Search, Filter feeds) that do not depend on the placeholder. Deployed in ipx-web (1.2.1-dev).