mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-04-27 20:51:00 -04:00
Changing alert back to a focus and fixing tests
This commit is contained in:
@@ -10,11 +10,13 @@ function announceUploadStatusFromElement() {
|
||||
if (message) {
|
||||
srRegion.textContent = '';
|
||||
setTimeout(() => {
|
||||
srRegion.textContent = message;
|
||||
}, 50);
|
||||
srRegion.textContent = message + '\u00A0'; // add a non-breaking space
|
||||
srRegion.focus(); // Optional
|
||||
}, 300);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Exported for use in tests
|
||||
function initUploadStatusAnnouncer() {
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
<div id="upload-status-live"
|
||||
class="usa-sr-only"
|
||||
aria-live="assertive"
|
||||
tabindex="-1"
|
||||
role="status">
|
||||
</div>
|
||||
<script nonce="{{ csp_nonce() }}">document.body.className = ((document.body.className) ? document.body.className + ' js-enabled' : 'js-enabled');</script>
|
||||
|
||||
@@ -19,8 +19,8 @@ test('writes upload message to the live region on DOMContentLoaded', () => {
|
||||
document.dispatchEvent(new Event('DOMContentLoaded'));
|
||||
|
||||
// Live region will be cleared first, then updated
|
||||
jest.advanceTimersByTime(50);
|
||||
jest.advanceTimersByTime(300);
|
||||
|
||||
const srRegion = document.getElementById('upload-status-live');
|
||||
expect(srRegion.textContent).toBe('File upload successful');
|
||||
expect(srRegion.textContent).toBe('File upload successful\u00A0');
|
||||
});
|
||||
|
||||
@@ -146,10 +146,10 @@ describe('announceUploadStatusFromElement', () => {
|
||||
expect(srRegion.textContent).toBe('');
|
||||
|
||||
// Fast-forward the timer
|
||||
jest.advanceTimersByTime(50);
|
||||
jest.advanceTimersByTime(300);
|
||||
|
||||
// Confirm it updates after delay
|
||||
expect(srRegion.textContent).toBe('File upload failed');
|
||||
expect(srRegion.textContent).toBe('File upload failed\u00A0');
|
||||
});
|
||||
|
||||
test('announces success message from #upload-success if no error is present', () => {
|
||||
@@ -163,9 +163,9 @@ describe('announceUploadStatusFromElement', () => {
|
||||
|
||||
expect(srRegion.textContent).toBe('');
|
||||
|
||||
jest.advanceTimersByTime(50);
|
||||
jest.advanceTimersByTime(301);
|
||||
|
||||
expect(srRegion.textContent).toBe('File upload successful');
|
||||
expect(srRegion.textContent).toBe('File upload successful\u00A0');
|
||||
});
|
||||
|
||||
test('does nothing if neither success nor error is present', () => {
|
||||
@@ -178,7 +178,7 @@ describe('announceUploadStatusFromElement', () => {
|
||||
// Should not clear or update if no message element is found
|
||||
expect(srRegion.textContent).toBe('Old message');
|
||||
|
||||
jest.advanceTimersByTime(50);
|
||||
jest.advanceTimersByTime(300);
|
||||
|
||||
// Still unchanged
|
||||
expect(srRegion.textContent).toBe('Old message');
|
||||
|
||||
Reference in New Issue
Block a user