uttrflow / uttrflow/uttrflow-swift
Status colours on the floating button fall below contrast minimums: white on the warning badge is 2.3:1
- Dominant language
- Swift
- Stars
- 4
- Forks
- 17
- Avg merge
- 4h 27m
- Merged PRs (30d)
- 286
Description
## What happens
Measured with the WCAG relative-luminance formula against the colours on main:
| Where | Foreground | Background | Ratio | Needed |
|---|---|---|---|---|
| Failure badge glyph, `DockView.swift:481-494` | white | `dockWarning` #FF8D28 (`BrandPalette.swift:107`) | 2.31:1 | 3:1 (graphic) |
| "⌘V" keycap text when words were copied, `DockView.swift:228-229` | `dockWarning` #FF8D28, 10 pt semibold | ultra-thin material over a light desktop (approx. #EEEEEE) | about 2.0:1 | 4.5:1 (text) |
| "Inserted" tick, `DockView.swift:437-457` | `dockSuccess` #34C759 | same light material | about 1.9–2.2:1 | 3:1 (graphic) |
In dark appearance the tick is fine (6.8:1 on #262626); the problem is light desktops. `Docs/app-dock.md` already caps `dockAccent` so white text clears 4.5:1, so the design intends to meet these minimums; the warning and success tones were not held to it.
## Why it matters
The "copied, press ⌘V" state is the one where the user must act, and its only resting text is the orange keycap. Low-vision users and anyone on a bright wallpaper cannot read it, and cannot tell the success tick from the material.
## How to measure
The script used: compute `(L1 + 0.05) / (L2 + 0.05)` for the hex values above, or check with the Colour Contrast Analyser on a screenshot of the button over a white desktop.
## Acceptance criteria
- The failure badge, the copied-state keycap and the inserted tick meet 3:1 (graphics) and 4.5:1 (text) on both a light and a dark desktop, for example with a deeper warning ink on light backgrounds as `BrandPalette.Semantic.cautionInk` already does for pages.
- `Docs/app-dock.md` records the chosen values and their ratios.
Contributor guide
Research direction
Start with the cited locations in DockView.swift (228-229, 437-457, and 481-494) and the related colors in BrandPalette.swift:107. Review Docs/app-dock.md and measure the warning keycap, inserted tick, and failure badge on light and dark backgrounds. Done means all stated contrast thresholds are met and the chosen values and ratios are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- accessibility, desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100