From 124aebeb0f37cc900f4cc539bfea3d1ff287c15b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Apr 2026 23:12:49 +0000 Subject: [PATCH 1/3] Initial plan From 47080cd2a1cce2fca1fee629d6c6bab34a03756a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 22 Apr 2026 23:16:05 +0000 Subject: [PATCH 2/3] Update results description section with Structure and Code guidance subsections Agent-Logs-Url: https://github.com/department-of-veterans-affairs/vets-design-system-documentation/sessions/c6847155-6938-46cd-aa95-daa6a63d8d10 Co-authored-by: derekwang99 <57509494+derekwang99@users.noreply.github.com> --- .../components/results-description.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/_includes/components/results-description.md b/src/_includes/components/results-description.md index cee77de65..7c3b3f23b 100644 --- a/src/_includes/components/results-description.md +++ b/src/_includes/components/results-description.md @@ -1,12 +1,19 @@ Text describing how many results are being shown. -* **Showing 1–10 of 999 results for "[query]".** The implementation should follow this format: +#### Structure -> Showing 1–10 of 999 results for "[query]" - * When used in non-search contexts, omit the `for "[query]"` portion. For example: `Showing 1–10 of 999 results.` +The implementation should follow this format: -* **Update when filters change.** The results description must update when filters are changed so that all users can understand that the results have been updated. Implementation should follow this format: +* Showing 1–10 of 999 for "[query]" + * When used in non-search contexts, omit the `for "[query]"` portion. + * If a filter is applied to the results, add "with X filters applied" to the end. This is not necessary when sorting is applied since the Sort component itself acts as the visual indicator. -> Showing 1–10 of 999 results for "[query]" with 5 filters applied. +#### Code guidance -* **Do not reflect changes to sort.** The Sort component itself acts as the visual indicator of the order. +* **An `

` is not required for the results description.** Some implementations on VA.gov may use this convention, but this is not necessary. A stable, targetable element (e.g., ID) is sufficient for focus management. +* **Using `role="status"` provides an implicit `aria-live="polite"`, which will announce updates when the content changes.** Adding an explicit `aria-live` is not necessary. +* **To support programmatic focus, `tabindex="-1"` is required if we intend to move focus to the results description element.** This is a focus-driven announcement pattern and is separate from live region behavior. +* **When moving focus to the results description, the content should be announced as a single unit, assuming the DOM update is atomic.** +* **In testing (especially with VoiceOver), inline elements such as ``, ``, etc., can cause the content to be announced in fragmented chunks instead of a single cohesive sentence, even though this is not consistently expected behavior.** +* **Avoid inline stylistic elements within the results description when possible, and instead rely on plain text to ensure consistent, single-pass announcements across assistive technologies.** +* **If inline styling is required, additional measures such as `aria-atomic="true"` may help, but results can still vary across screen readers.** From 2c3737dbb6125a88aee45afc2de415333436cc6a Mon Sep 17 00:00:00 2001 From: Derek Wang <57509494+derekwang99@users.noreply.github.com> Date: Wed, 22 Apr 2026 16:32:47 -0700 Subject: [PATCH 3/3] updates code guidance --- src/_includes/components/results-description.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/_includes/components/results-description.md b/src/_includes/components/results-description.md index 7c3b3f23b..dd7ee2b6c 100644 --- a/src/_includes/components/results-description.md +++ b/src/_includes/components/results-description.md @@ -10,10 +10,8 @@ The implementation should follow this format: #### Code guidance -* **An `

` is not required for the results description.** Some implementations on VA.gov may use this convention, but this is not necessary. A stable, targetable element (e.g., ID) is sufficient for focus management. -* **Using `role="status"` provides an implicit `aria-live="polite"`, which will announce updates when the content changes.** Adding an explicit `aria-live` is not necessary. -* **To support programmatic focus, `tabindex="-1"` is required if we intend to move focus to the results description element.** This is a focus-driven announcement pattern and is separate from live region behavior. -* **When moving focus to the results description, the content should be announced as a single unit, assuming the DOM update is atomic.** -* **In testing (especially with VoiceOver), inline elements such as ``, ``, etc., can cause the content to be announced in fragmented chunks instead of a single cohesive sentence, even though this is not consistently expected behavior.** -* **Avoid inline stylistic elements within the results description when possible, and instead rely on plain text to ensure consistent, single-pass announcements across assistive technologies.** -* **If inline styling is required, additional measures such as `aria-atomic="true"` may help, but results can still vary across screen readers.** +* An `

` is not required for the results description. Some implementations on VA.gov may use this convention, but this is discouraged. A stable, targetable element (e.g., ID) is sufficient for focus management. +* Using `role="status"` provides an implicit `aria-live="polite"`, which will announce updates when the content changes. Adding an explicit `aria-live` is not necessary. +* To support programmatic focus, `tabindex="-1"` is required if we intend to move focus to the results description element. This is a focus-driven announcement pattern and is separate from live region behavior. +* When moving focus to the results description, the content should be announced as a single unit, assuming the DOM update is atomic. In testing (especially with VoiceOver), inline elements such as ``, ``, etc., can cause the content to be announced in fragmented chunks instead of a single cohesive sentence, even though this is not consistently expected behavior. +* Avoid inline stylistic elements within the results description when possible, and instead rely on plain text to ensure consistent, single-pass announcements across assistive technologies. If inline styling is required, additional measures such as `aria-atomic="true"` may help, but results can still vary across screen readers.