Skip to content

fix(a11y): the three main search fields have placeholder-only labels - #530

Closed
SanjanaBottu wants to merge 515 commits into
thoth-tech:11.0.xfrom
ontrack-features-t2-2026:fix/a11y-form03
Closed

SanjanaBottu wants to merge 515 commits into
thoth-tech:11.0.xfrom
ontrack-features-t2-2026:fix/a11y-form03

Conversation

@SanjanaBottu

Copy link
Copy Markdown

Fixes the accessibility of the three main search fields that previously relied on placeholder-only labels.

Changes:

  • Added an accessible label to the inbox search field.
  • Added an accessible label to the task-list search field.
  • Added a visible Material label to the admin users search field.
  • Replaced disabled decorative search buttons with aria-hidden search icons.
  • Added a visible focus outline for keyboard users.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Ran the relevant existing Angular/Vitest specs individually.

Staff task list:
npx ng test --watch=false --include="src/app/units/states/tasks/inbox/directives/staff-task-list/staff-task-list.component.spec.ts"

Result: 3/3 tests passed.

Unit task list:
npx ng test --watch=false --include="src/app/units/task-viewer/directives/unit-task-list/unit-task-list.component.spec.ts"

Result: 10/10 tests passed.

Total: 13/13 relevant existing tests passed.

Also ran git diff --check successfully with no whitespace errors.

Testing Checklist:

  • Tested in latest Chrome
  • Tested in latest Safari
  • Tested in latest Firefox

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have requested a review from @macite and @jakerenzella on the Pull Request

Task Notes

The task requires new Vitest coverage, but its "FILES YOU WILL TOUCH" section restricts the change to the five HTML/SCSS files. The existing relevant spec files are outside that scope and override their component templates with template: '', so they do not exercise the changed search markup. A scope clarification was posted in the task chat before submission.

Build Combination

  • API: detached HEAD @ c6f1592c93961467b9766e67f0ff6154b03bd131
  • Web: fix/a11y-form03 @ 80294b2fb
  • Deploy: 11.0.x @ 58905969e6942674207c8f02851c20b30f8cc639
image

bardiharborow and others added 30 commits August 19, 2026 20:21
The student list and portfolios loaded students through query, which the
entity cache serves from its stored response for 24 hours, so both views
showed whatever another view had cached earlier in the session. They now
render the cached students immediately and ask the server for the
current details in the background, leaving the skeleton for the case
where there is nothing to show yet.

Unit.refreshStudents never subscribed to the request it built, so the
refresh after enrolling or withdrawing a student never ran. Making it
run exposed its second defect: the flag it takes means include the
withdrawn students, but it was passed to loadStudents, where the same
argument means withdrawn students only. Refreshing after an enrolment
import would have asked for the withdrawn students alone, and left the
newly enrolled ones out of the cache. It now loads the enrolled students
and, when asked for them, the withdrawn students as well, and reports a
failed refresh rather than leaving it unhandled.
A tutorial enrolment naming a tutorial that is not in the unit's cache
called EntityCache.add(undefined), which throws while the project is
mapped. That failed every remaining project in the students response and
left the list partly populated, so the view showed a different set of
students depending on when the unit's tutorials had loaded.
…munication-set-query

refactor: calculate student previews client side
fix: restore list markers in rendered markdown
* feat: import and export communication sets and rules

* refactor: minimal copy and paste workflow

* chore: lint

* feat: add confirmation modals to set and rule deletion

* fix: update executable status after updating condition
…tion-condition

feat: add groups and group sets to communication conditions
…nt-stamps

feat: add ui to delete engagement stamps
Bumps [marked](https://github.com/markedjs/marked) from 18.0.9 to 18.0.10.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](markedjs/marked@v18.0.9...v18.0.10)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 18.0.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…pm_and_yarn/marked-18.0.10

chore(deps): bump marked from 18.0.9 to 18.0.10
…s-settings

refactor: improve unit details settings toggle ui
b0ink and others added 28 commits September 16, 2026 19:18
…stream

refactor: replace ng-flex-layout with Tailwind across components
@SanjanaBottu

Copy link
Copy Markdown
Author

Closing this PR because it was opened against the incorrect base repository. I’ll reopen the same branch against ontrack-features-t2-2026/doubtfire-web:11.0.x.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants