Skip to content

UI: distinguish upstream_failed from failed in default state palette#66324

Merged
bbovenzi merged 1 commit into
apache:mainfrom
1fanwang:1fanwang/ui-state-color-failed-upstream-failed
May 4, 2026
Merged

UI: distinguish upstream_failed from failed in default state palette#66324
bbovenzi merged 1 commit into
apache:mainfrom
1fanwang:1fanwang/ui-state-color-failed-upstream-failed

Conversation

@1fanwang
Copy link
Copy Markdown
Contributor

@1fanwang 1fanwang commented May 4, 2026

related: #66323

failed and upstream_failed currently render with ΔE2000=6.2 in normal vision — below the "easily distinguishable" threshold of ~10. In a Grid view they look like the same color, especially in dense state mixes. Issue #66323 has the full simulation data; this PR is the smallest fix for the immediate normal-vision regression.

upstream_failed switches from orange.600 (hue ~36°) to amber.600 (hue ~58°), pushing it clear of red.600 (hue ~27°). The amber palette is already defined in theme.ts so no new tokens are introduced.

Image

airflow_state_colors.py

Image

Before / after (Brettel/Machado simulation, ΔE2000)

pair before normal after normal before deutan after deutan
failed vs upstream_failed 6.2 20.9 0.4 8.3
upstream_failed vs up_for_retry 24.8 10.8 9.1 1.2

Normal-vision upstream_failed vs up_for_retry drops from 24.8 to 10.8 — still above the 10 threshold, so no new normal-vision regression.

The deuteranopia collapse of upstream_failed vs up_for_retry (8.3 → 1.2) is part of the broader colorblind story in #66323. The warm-hue band structurally collapses under deuteranopia regardless of which OKLCH is chosen — fixing that fully needs either a per-user CB-safe preset (Okabe-Ito-derived, what GitHub Primer ships as four theme variants) or a non-warm hue for one of these states. Both are bigger conversations.

Filing as a draft to invite discussion. Reasonable alternatives:

Happy to take it in any direction. If amber.600 is fine, will mark ready, add a newsfragment + tests.

failed (red.600) and upstream_failed (orange.600) currently differ by
~9° hue at near-identical lightness, producing ΔE2000=6.2 — below the
"easily distinguishable" threshold even for normal vision (and
collapsing to ΔE=0.4 under deuteranopia). Switch upstream_failed to
amber.600 (hue ~58°) so the pair clears ΔE>20 in normal vision while
keeping upstream_failed/up_for_retry above ΔE=10.

Related: apache#66323
@bbovenzi
Copy link
Copy Markdown
Contributor

bbovenzi commented May 4, 2026

Yes, that looks much better.

Screenshot 2026-05-04 at 11 41 07 AM Screenshot 2026-05-04 at 11 41 02 AM

@bbovenzi bbovenzi added this to the Airflow 3.2.2 milestone May 4, 2026
@bbovenzi bbovenzi added the backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch label May 4, 2026
@bbovenzi bbovenzi merged commit a94a38b into apache:main May 4, 2026
132 of 136 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 4, 2026

Backport successfully created: v3-2-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-2-test PR Link

bbovenzi pushed a commit that referenced this pull request May 4, 2026
…66324) (#66365)

failed (red.600) and upstream_failed (orange.600) currently differ by
~9° hue at near-identical lightness, producing ΔE2000=6.2 — below the
"easily distinguishable" threshold even for normal vision (and
collapsing to ΔE=0.4 under deuteranopia). Switch upstream_failed to
amber.600 (hue ~58°) so the pair clears ΔE>20 in normal vision while
keeping upstream_failed/up_for_retry above ΔE=10.
(cherry picked from commit a94a38b)


Related: #66323

Co-authored-by: Stefan Wang <1fannnw@gmail.com>
vatsrahul1001 pushed a commit that referenced this pull request May 20, 2026
…66324) (#66365)

failed (red.600) and upstream_failed (orange.600) currently differ by
~9° hue at near-identical lightness, producing ΔE2000=6.2 — below the
"easily distinguishable" threshold even for normal vision (and
collapsing to ΔE=0.4 under deuteranopia). Switch upstream_failed to
amber.600 (hue ~58°) so the pair clears ΔE>20 in normal vision while
keeping upstream_failed/up_for_retry above ΔE=10.
(cherry picked from commit a94a38b)


Related: #66323

Co-authored-by: Stefan Wang <1fannnw@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:UI Related to UI/UX. For Frontend Developers. backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants