Skip to content

Commit 9507093

Browse files
authoredAug 19, 2024··
Hide "loading" screen reader-only text after visual spinner leaves (#3011)
1 parent adcdddd commit 9507093

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed
 

‎.changeset/khaki-waves-lie.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@primer/view-components': patch
3+
---
4+
5+
Remove "loading" screenreader-only text after Spinner load for
6+
`eventually_local` SelectPanels

‎app/components/primer/alpha/select_panel_element.ts

+1
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,7 @@ export class SelectPanelElement extends HTMLElement {
547547
}
548548

549549
case 'loadend': {
550+
this.#filterInputTextFieldElement.hideLeadingSpinner()
550551
this.dispatchEvent(new CustomEvent('loadend'))
551552
break
552553
}

‎app/components/primer/beta/spinner.html.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
<path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" />
44
<% end %>
55
<% if no_aria_label? %>
6-
<span class="sr-only"><%= @sr_text %></span>
6+
<span class="spinner-screenreader-text sr-only"><%= @sr_text %></span>
77
<% end %>

‎lib/primer/forms/primer_text_field.ts

+4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ declare global {
1010
'auto-check-error': AutoCheckErrorEvent
1111
}
1212
}
13+
14+
const SCREENREADER_TEXT_CLASSNAME = 'spinner-screenreader-text'
1315
@controller
1416
export class PrimerTextFieldElement extends HTMLElement {
1517
@target inputElement: HTMLInputElement
@@ -97,11 +99,13 @@ export class PrimerTextFieldElement extends HTMLElement {
9799

98100
showLeadingSpinner(): void {
99101
this.leadingSpinner?.removeAttribute('hidden')
102+
this.leadingSpinner?.querySelector(SCREENREADER_TEXT_CLASSNAME)?.removeAttribute('hidden')
100103
this.leadingVisual?.setAttribute('hidden', '')
101104
}
102105

103106
hideLeadingSpinner(): void {
104107
this.leadingSpinner?.setAttribute('hidden', '')
108+
this.leadingSpinner?.querySelector(SCREENREADER_TEXT_CLASSNAME)?.setAttribute('hidden', '')
105109
this.leadingVisual?.removeAttribute('hidden')
106110
}
107111
}

0 commit comments

Comments
 (0)
Please sign in to comment.