@@ -279,9 +279,12 @@ describe('ARIA labels', () => {
279
279
} ) ;
280
280
281
281
it ( 'uses aria-live if dismissButton is false' , ( ) => {
282
- const wrapper = renderPopover ( { children : 'Trigger' , content : 'Popover' , dismissButton : false } ) ;
282
+ const wrapper = renderPopover ( { children : 'Trigger' , content : 'Popover content ' , dismissButton : false } ) ;
283
283
wrapper . findTrigger ( ) . click ( ) ;
284
- expect ( wrapper . find ( '[aria-live="polite"]' ) ) . toBeTruthy ( ) ;
284
+
285
+ const liveRegion = createWrapper ( ) . findLiveRegion ( ) ! ;
286
+ expect ( liveRegion ) . toBeDefined ( ) ;
287
+ expect ( liveRegion . getElement ( ) ) . toHaveTextContent ( 'Popover content' ) ;
285
288
} ) ;
286
289
287
290
it ( 'does not pass the dismissAriaLabel to the dismiss button if not defined' , ( ) => {
@@ -308,15 +311,39 @@ describe('ARIA labels', () => {
308
311
expect ( wrapper . findBody ( ) ! . getElement ( ) ) . not . toHaveAttribute ( 'role' , 'dialog' ) ;
309
312
} ) ;
310
313
311
- it ( 'accessibility validation basic popover' , async ( ) => {
312
- const wrapper = renderPopover ( {
313
- children : 'Trigger' ,
314
- content : 'Popover' ,
315
- dismissButton : false ,
316
- renderWithPortal : true ,
314
+ describe ( 'live region' , ( ) => {
315
+ it ( 'do not render live region when closed' , ( ) => {
316
+ renderPopover ( {
317
+ children : 'Trigger' ,
318
+ content : 'Popover' ,
319
+ dismissButton : false ,
320
+ renderWithPortal : true ,
321
+ } ) ;
322
+ expect ( createWrapper ( ) . findLiveRegion ( ) ) . toBeNull ( ) ;
323
+ } ) ;
324
+
325
+ it ( 'render live region when opened and dismissButton = false' , ( ) => {
326
+ const wrapper = renderPopover ( {
327
+ children : 'Trigger' ,
328
+ content : 'Popover' ,
329
+ dismissButton : false ,
330
+ renderWithPortal : true ,
331
+ } ) ;
332
+ wrapper . findTrigger ( ) . click ( ) ;
333
+ const liveRegion = createWrapper ( ) . findLiveRegion ( ) ! . getElement ( ) ! ;
334
+ expect ( liveRegion ) . toHaveTextContent ( 'Popover' ) ;
335
+ } ) ;
336
+
337
+ it ( 'do not render live region when opened and dismissButton = true' , ( ) => {
338
+ const wrapper = renderPopover ( {
339
+ children : 'Trigger' ,
340
+ content : 'Popover' ,
341
+ dismissButton : true ,
342
+ renderWithPortal : true ,
343
+ } ) ;
344
+ wrapper . findTrigger ( ) . click ( ) ;
345
+ expect ( createWrapper ( ) . findLiveRegion ( ) ) . toBeNull ( ) ;
317
346
} ) ;
318
- wrapper . findTrigger ( ) . click ( ) ;
319
- await expect ( document . body ) . toValidateA11y ( ) ;
320
347
} ) ;
321
348
322
349
it ( 'accessibility validation for popover with dismiss button and header' , async ( ) => {
0 commit comments