Skip to content

[Dream-882] Provide accessible descriptions for backlog graphs - #25745

Merged
bsatarnejad merged 4 commits into
devfrom
dream-882-provide-accessible-descriptions-for-backlog-graphs
Oct 21, 2026
Merged

bsatarnejad merged 4 commits into
devfrom
dream-882-provide-accessible-descriptions-for-backlog-graphs

Conversation

@bsatarnejad

Copy link
Copy Markdown
Contributor

Ticket

https://community.openproject.org/wp/DREAM-882

What are you trying to accomplish?

Adds an accessible description to the backlog burndown chart so screen-reader users can understand its purpose and data without relying on the visual presentation.

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Warning

Flaky specs

  • rspec ./spec/features/projects/creation_wizard/wizard_from_template_flow_spec.rb[1:1]
  • rspec ./spec/features/roles/report_spec.rb[1:1]
  • rspec ./spec/features/roles/report_spec.rb[1:2]
  • rspec ./spec/features/roles/report_spec.rb[1:3]
🤖 Ask Copilot to investigate

Copy the prompt below into a new comment on this PR to delegate the investigation to GitHub Copilot. It will look into the flakiness and open a separate pull request with you as reviewer.

@copilot The following spec(s) are flaky in CI (first seen on PR #25745, linked for reference only):

- `rspec ./spec/features/projects/creation_wizard/wizard_from_template_flow_spec.rb[1:1]`
- `rspec ./spec/features/roles/report_spec.rb[1:1]`
- `rspec ./spec/features/roles/report_spec.rb[1:2]`
- `rspec ./spec/features/roles/report_spec.rb[1:3]`

Treat this as a standalone task, unrelated to PR #25745. Create a new branch from origin/dev and open a new pull request targeting dev — do not stack it on PR #25745 or reuse that branch.

Follow the playbook in docs/development/testing/handling-flaky-tests/README.md to find the root cause and fix the underlying race — do not skip, delete, or weaken the spec to make it pass; disabling is a last resort per the playbook, and only with a bug ticket. Verify the fix by running the spec(s) repeatedly (e.g. `script/bulk_run_rspec --run-count 10`).

If you cannot reproduce the flake or are not confident in a fix after reasonable investigation, do not fabricate a change or skip the spec to force CI green. Instead, leave the pull request in draft and document what you tried, the suspected cause, and any leads in its description, then assign @bsatarnejad to take over.

Once the fix is verified, title the PR after the spec(s) it fixes, and use the PR description to explain the root cause, how the change resolves it, and the before/after results. Label the PR `flaky-spec`, assign @bsatarnejad, and request a review from @bsatarnejad.
On every commit, set @bsatarnejad as the sole co-author with a `Co-authored-by:` trailer (use their GitHub no-reply email so it links to their account), so it is traceable who dispatched the fix.

@bsatarnejad
bsatarnejad marked this pull request as ready for review October 1, 2026 13:50
@bsatarnejad bsatarnejad self-assigned this Oct 1, 2026

@planktonic planktonic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So good to make the charts more accessible! It could be great to add a follow up ticket to make the fallback content a <table> element, for the more complex/larger charts, what do you think?

(I don’t have the permissions to approve PRs here, so this is just a comment :))

@if (hasChartData()) {
<div class="position-relative mx-auto" style="height:60vh">
<canvas baseChart
<p [id]="chartDescriptionId" hidden>{{ chartDescription() }}</p>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason to render the chartDescription twice? The fallback content inside the canvas element is needed, but I don’t know if it’s useful to repeat it in an aria-description.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point! It is not needed to repeat it.

Comment thread frontend/src/app/features/backlogs/burndown-chart.component.html
Comment thread frontend/src/app/features/backlogs/burndown-chart.component.html Outdated
@bsatarnejad
bsatarnejad force-pushed the dream-882-provide-accessible-descriptions-for-backlog-graphs branch from 50f5f83 to 77b9a9b Compare October 20, 2026 17:58
@bsatarnejad

Copy link
Copy Markdown
Contributor Author

So good to make the charts more accessible! It could be great to add a follow up ticket to make the fallback content a <table> element, for the more complex/larger charts, what do you think?

(I don’t have the permissions to approve PRs here, so this is just a comment :))

Yes, I agree. A table would make larger charts easier to navigate and compare. I will create a follow-up ticket 👍🏼

@planktonic planktonic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great ✨

@bsatarnejad
bsatarnejad enabled auto-merge (squash) October 21, 2026 12:20
@bsatarnejad
bsatarnejad disabled auto-merge October 21, 2026 12:27
@bsatarnejad
bsatarnejad merged commit 68bfcca into dev Oct 21, 2026
22 checks passed
@bsatarnejad
bsatarnejad deleted the dream-882-provide-accessible-descriptions-for-backlog-graphs branch October 21, 2026 12:28
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Development

Successfully merging this pull request may close these issues.

3 participants