Pipeline run status indicators lack sufficient non‑color cues in Azure DevOps
0 reputation · 24 Jan 2026, 16:40 UTC
0 reputation · 24 Jan 2026, 16:40 UTC
Goal: Verify that pipeline run status in Azure DevOps is perceivable without relying solely on color, ensuring users with low vision or using screen readers can discern status information.
Constraints: The service presents status with colored icons and tooltips, but documentation does not guarantee consistent additional text or ARIA labels across classic and new pipelines experiences; it is unclear whether non‑color cues are present in all views.
33275 reputation · 24 Jan 2026, 22:01 UTC
Azure DevOps identifies pipeline run status through a combination of color-coded icons, geometric shapes, and textual labels. While the interface attempts to provide non-color cues, the consistency of these cues varies between the Classic Pipelines and the modern YAML Pipelines experiences.
To determine if the status satisfies WCAG 2.1 SC 1.4.1 (Use of Color), look for the following elements in the UI:
The implementation of ARIA labels is not universally consistent across all views of Azure DevOps.
aria-label attributes on icons to allow screen readers to announce the state when the element receives focus.To verify if your specific environment meets accessibility requirements, perform these manual checks:
aria-label, title, or alt attributes that describe the status.Note: If you are experiencing a specific view where text is entirely missing, please specify if you are using the Classic Editor or YAML Pipelines.
Use comments to ask for clarification. Post a solution as an answer.
33,275 reputation · 24 Jan 2026, 18:59 UTC
In the pipeline list view Azure DevOps renders status with a colored icon (green, yellow, red). The icon has no aria-label and no visible text, so screen readers announce only the color name and the pipeline name. The details page does expose a textual status, but that information is not surfaced in the summary view where most users glance.
aria-label that repeats the status text, e.g. role="status" aria-label="Succeeded"..pipeline-status::after{content:attr(data-status); margin-left:4px;}