fix(labels): WCAG 2.2 AA colour alignment and supporting docs update#990
Conversation
|
Warning Review limit reached
More reviews will be available in 15 minutes and 30 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Repository YAML (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Metadata governance
|
- Rewrites docs/LABEL_COLOR_STRATEGY.md (v1.0.0 → v1.1.0): replaces all failing primary/secondary colours with WCAG AA-compliant equivalents (≥4.5:1 against white), documents tertiary light pastels as label- background-only, adds Section 5.2, updates implementation checklist and changelog. - Updates .github/labels.yml: adds colour-family header comment, standardises all label hex values to the canonical 8-family palette (Green 1A7F37/2A7A3B, Blue 0969DA/3467D3, Yellow D29922/F2D06D, Red CF222E/B91C1C, Orange 9A6700/FDBF7C, Purple 8957E5, Gray 57606A/D0D7DE, Teal 007580/0D7F6F). Closes #683. Addresses accessibility findings from #650 and #686. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fswad6TctbhticPTbLEhPL
- docs/LABELING.md (v1.0.1 → v1.0.2): adds Colour Strategy section with 8-family palette table; corrects priority label names to match labels.yml (critical/important/minor instead of urgent/high/low); corrects type labels (type:improve, type:documentation, type:ci, type:build, type:dependency instead of stale aliases); fixes environment label names (env:live, env:prototype); expands compatibility label examples; adds colour strategy reference entry. - docs/ISSUE_FIELDS.md: removes "Claude Code" from authors field and changelog entry per branding requirements. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fswad6TctbhticPTbLEhPL
- .github/labels.yml: status:on-hold colour FDBF7C → 9A6700 (Orange primary, per strategy spec) - docs/LABEL_COLOR_STRATEGY.md: replace non-canonical label references — priority:medium → priority:normal, type:duplicate → status:duplicate, priority:urgent → priority:critical, priority:low → priority:minor, area:ci-cd → area:ci, type:accessibility → type:a11y, type:internal → type:chore; corrects Gray family assignment rules and label examples - scripts/agents/labeling.agent.js: BRANCH_PREFIX_TYPE_MAP — deps/ now maps to type:dependency (singular); adds build/ → type:build; keyword map entries for dependencies/dependency/bump version updated to type:dependency (singular) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fswad6TctbhticPTbLEhPL
dd02ac4 to
ae27bec
Compare
There was a problem hiding this comment.
Code Review
This pull request updates the repository's label configuration and documentation to implement a WCAG 2.2 AA compliant color strategy across 8 primary color families. It updates .github/labels.yml, docs/LABELING.md, and docs/LABEL_COLOR_STRATEGY.md to reflect the new colors, and adjusts the labeling agent script (scripts/agents/labeling.agent.js) to align with the updated label types (such as mapping dependencies to type:dependency). The review feedback points out inconsistencies in docs/LABEL_COLOR_STRATEGY.md where the area:ci label is documented under the Gray family section despite being assigned a Blue family color (#C5DEF5), suggesting it be correctly categorized under the Blue family in both the summary table and the detailed family sections.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| | **Blue (Planning/Review)** | `#0969DA`, `#3467D3`, `#C5DEF5` | Discussion, collaboration, needs input | type:documentation, type:discussion, status:needs-review, lang:* | 52 | | ||
| | **Yellow (Testing/Audit)** | `#D29922`, `#F2D06D`, `#FCE2B7` | Validation, testing, audit workflows | status:needs-testing, type:bug (when testing), type:audit | 24 | | ||
| | **Red (Blocked/Impediment)** | `#CF222E`, `#B91C1C`, `#FCE2E2` | Blockers, duplicates, critical issues | status:blocked, status:duplicate, priority:critical, type:security | 18 | | ||
| | **Orange (On-Hold/Deferred)** | `#9A6700`, `#D5A87B`, `#FDBF7C` | Delayed, deferred, rejected, wontfix | status:wontfix, status:on-hold, type:epic (when deferred), priority:minor | 16 | | ||
| | **Purple (Design Workflows)** | `#8957E5`, `#B4A7E8`, `#D89AF6` | Design, UX, accessibility | type:design, type:ui, type:a11y, design:* | 14 | | ||
| | **Gray (Meta/Infrastructure)** | `#57606A`, `#B1BAC4`, `#D0D7DE` | Process, meta, automation, infrastructure | meta:*, area:ci, type:chore, domain:* | 12 | |
There was a problem hiding this comment.
Since area:ci is mapped to #C5DEF5 (Blue tertiary) and belongs to the Blue family, it should be listed under the Blue family's label categories and removed from the Gray family's label categories in Table 1.
| | **Blue (Planning/Review)** | `#0969DA`, `#3467D3`, `#C5DEF5` | Discussion, collaboration, needs input | type:documentation, type:discussion, status:needs-review, lang:* | 52 | | |
| | **Yellow (Testing/Audit)** | `#D29922`, `#F2D06D`, `#FCE2B7` | Validation, testing, audit workflows | status:needs-testing, type:bug (when testing), type:audit | 24 | | |
| | **Red (Blocked/Impediment)** | `#CF222E`, `#B91C1C`, `#FCE2E2` | Blockers, duplicates, critical issues | status:blocked, status:duplicate, priority:critical, type:security | 18 | | |
| | **Orange (On-Hold/Deferred)** | `#9A6700`, `#D5A87B`, `#FDBF7C` | Delayed, deferred, rejected, wontfix | status:wontfix, status:on-hold, type:epic (when deferred), priority:minor | 16 | | |
| | **Purple (Design Workflows)** | `#8957E5`, `#B4A7E8`, `#D89AF6` | Design, UX, accessibility | type:design, type:ui, type:a11y, design:* | 14 | | |
| | **Gray (Meta/Infrastructure)** | `#57606A`, `#B1BAC4`, `#D0D7DE` | Process, meta, automation, infrastructure | meta:*, area:ci, type:chore, domain:* | 12 | | |
| | **Blue (Planning/Review)** | `#0969DA`, `#3467D3`, `#C5DEF5` | Discussion, collaboration, needs input | type:documentation, type:discussion, status:needs-review, area:ci, lang:* | 52 | | |
| | **Yellow (Testing/Audit)** | `#D29922`, `#F2D06D`, `#FCE2B7` | Validation, testing, audit workflows | status:needs-testing, type:bug (when testing), type:audit | 24 | | |
| | **Red (Blocked/Impediment)** | `#CF222E`, `#B91C1C`, `#FCE2E2` | Blockers, duplicates, critical issues | status:blocked, status:duplicate, priority:critical, type:security | 18 | | |
| | **Orange (On-Hold/Deferred)** | `#9A6700`, `#D5A87B`, `#FDBF7C` | Delayed, deferred, rejected, wontfix | status:wontfix, status:on-hold, type:epic (when deferred), priority:minor | 16 | | |
| | **Purple (Design Workflows)** | `#8957E5`, `#B4A7E8`, `#D89AF6` | Design, UX, accessibility | type:design, type:ui, type:a11y, design:* | 14 | | |
| | **Gray (Meta/Infrastructure)** | `#57606A`, `#B1BAC4`, `#D0D7DE` | Process, meta, automation, infrastructure | meta:*, type:chore, domain:* | 12 | |
References
- Documentation and governance files in the docs/ directory must use UPPERCASE naming with underscores. (link)
| - All `area:ci` labels → `#C5DEF5` (Blue tertiary — CI is in the Blue family) | ||
| - All `type:chore` labels → `#57606A` | ||
| - Domain/organisation labels → `#B1BAC4` | ||
| - Infrastructure/automation supporting labels → `#D0D7DE` | ||
|
|
||
| **Label Examples**: | ||
|
|
||
| - meta:needs-changelog | ||
| - meta:stale | ||
| - area:ci |
There was a problem hiding this comment.
The area:ci label is mapped to #C5DEF5 (Blue tertiary) and belongs to the Blue family. Documenting its assignment rule and listing it as an example under Section 2.7 (Gray Family) is inconsistent and confusing. It should be documented under Section 2.2 (Blue Family) instead.
| - All `area:ci` labels → `#C5DEF5` (Blue tertiary — CI is in the Blue family) | |
| - All `type:chore` labels → `#57606A` | |
| - Domain/organisation labels → `#B1BAC4` | |
| - Infrastructure/automation supporting labels → `#D0D7DE` | |
| **Label Examples**: | |
| - meta:needs-changelog | |
| - meta:stale | |
| - area:ci | |
| - All `type:chore` labels → `#57606A` | |
| - Domain/organisation labels → `#B1BAC4` | |
| - Infrastructure/automation supporting labels → `#D0D7DE` | |
| **Label Examples**: | |
| - meta:needs-changelog | |
| - meta:stale | |
| - type:chore | |
| - area:maintenance |
References
- Documentation and governance files in the docs/ directory must use UPPERCASE naming with underscores. (link)
🔍 Reviewer Summary for PR #990CI Status: ✅ Recommendations
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dd02ac4e17
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| - name: type:documentation | ||
| color: 4E575F | ||
| color: 57606A |
There was a problem hiding this comment.
Use the documented blue colour for docs labels
With this value, the label sync will publish type:documentation as Gray primary (#57606A), but the new colour strategy added in this commit assigns all type:documentation labels to the Blue family/secondary (#3467D3). In repositories that rely on the synced labels for triage, documentation work will be visually grouped with meta/infrastructure rather than planning/review, contradicting the source-of-truth strategy the same change introduces.
Useful? React with 👍 / 👎.
|
|
||
| ## 5. Accessibility & Contrast Standards | ||
|
|
||
| All **primary and secondary** colors in this strategy meet **WCAG 2.2 AA** requirements (minimum 4.5:1 ratio) against white backgrounds. Tertiary colours are designated GitHub label backgrounds only and rely on GitHub's auto-selected black text for accessibility. |
There was a problem hiding this comment.
Limit AA claims to colours that pass
This statement says all primary and secondary colours meet 4.5:1 against white, but several secondary palette entries listed in this document are light/background-only colours and fail as foreground text on white, e.g. #F2D06D is about 1.5:1, #D5A87B about 2.16:1, #B4A7E8 about 2.18:1, and #B1BAC4 about 1.96:1. Contributors following this guidance outside GitHub label chips would create non-WCAG-compliant text colours, so the claim should be limited to the verified dark variants or mark the light secondaries as background-only.
Useful? React with 👍 / 👎.
| # All labeling, status, type, and standardisation is handled by the unified labeling agent and workflow. | ||
| # This file is the single source of truth for all automation and label configuration. | ||
| # | ||
| # Color families (from docs/LABEL_COLOR_STRATEGY.md): |
There was a problem hiding this comment.
Finish migrating legacy label colours
The new palette header makes labels.yml look fully constrained to these eight families, but the same file still contains legacy colours outside the documented palette, including D4C5F9, B60205, C2E0C6, and 5319E7 on labels such as status:needs-design-review, priority:critical, priority:minor, and type:question. Because the label sync reads this file directly, those live labels will remain undocumented/outside the canonical strategy even after this “all label colours derive from the palette” update.
Useful? React with 👍 / 👎.
Chore Pull Request
Linked issues
Closes #683
Closes #685
Relates to #650
Relates to #686
Summary
Aligns all GitHub label hex values with the canonical 8-family WCAG 2.2 AA colour strategy and updates supporting documentation to match.
Changes
docs/LABEL_COLOR_STRATEGY.md(v1.0.0 → v1.1.0): replaces all failing primary/secondary hex values with WCAG 2.2 AA-compliant equivalents (≥ 4.5:1 against white); adds Section 5.2 documenting tertiary pastels as label-background-only; updates implementation checklist and changelog..github/labels.yml: adds canonical 8-family colour header comment; standardises all label hex values to the strategy palette (Green#1A7F37, Blue#0969DA, Yellow#D29922, Red#CF222E, Orange#9A6700, Purple#8957E5, Gray#57606A, Teal#007580and their secondaries/tertiaries); correctsstatus:on-holdto Orange primary#9A6700.docs/LABELING.md(v1.0.1 → v1.0.2): adds Colour Strategy section with 8-family palette table; corrects priority label names (critical/important/minor), type label names (type:improve,type:documentation,type:ci,type:build,type:dependency), and environment label names (env:live,env:prototype) to match labels.yml; updates branch prefix → type label mappings.Claude Codeattribution fromdocs/ISSUE_FIELDS.mdauthors per branding requirements.scripts/agents/labeling.agent.js:deps/→type:dependency(singular); addsbuild/→type:build; keyword map updated totype:dependency.Impact / Compatibility
Verification
npm run validate:frontmatterpasses for all edited docsRisk & Rollback
Changelog
Fixed
docs/LABELING.md(priority, type, and environment label names now matchlabels.yml). Closes [Wave 5.2.4] Update Supporting Documentation #685.labeling.agent.jsbranch prefix map:deps/→type:dependency(singular); addedbuild/→type:build.Checklist (Global DoD / PR)
🤖 Generated with Claude Code
https://claude.ai/code/session_01Fswad6TctbhticPTbLEhPL
Generated by Claude Code