@@ -3812,7 +3812,7 @@ describe("DatePicker", () => {
38123812 } ) ;
38133813
38143814 describe ( "Calendar Header Accessibility" , ( ) => {
3815- it ( "renders day names with react-datepicker__sr-only full weekday and visible short name" , ( ) => {
3815+ it ( "renders day names with aria-label full weekday and visible short name" , ( ) => {
38163816 const { container } = render ( < DatePicker /> ) ;
38173817 const input = safeQuerySelector ( container , "input" ) ;
38183818 fireEvent . focus ( input ) ;
@@ -3823,19 +3823,18 @@ describe("DatePicker", () => {
38233823 expect ( headers . length ) . toBe ( 7 ) ;
38243824
38253825 headers . forEach ( ( header ) => {
3826- // Should have a visually hidden span with the full weekday name
3827- const srOnly = header . querySelector ( ".react-datepicker__sr-only" ) ;
3828- expect ( srOnly ) . toBeTruthy ( ) ;
3829- expect ( srOnly ?. textContent ?. length ) . toBeGreaterThan ( 2 ) ;
3826+ // Should have an aria-label with the full weekday name
3827+ const ariaLabel = header ?. getAttribute ( 'aria-label' ) ;
3828+ expect ( ariaLabel ?. length ) . toBeGreaterThan ( 2 ) ;
38303829
38313830 // Should have a visible short name
3832- const visible = header . querySelector ( 'span[aria-hidden="true"]' ) ;
3831+ const visible = header . querySelector ( '.react-datepicker__day-name > span[aria-hidden="true"]' ) ;
38333832 expect ( visible ) . toBeTruthy ( ) ;
38343833 expect ( visible ?. textContent ?. length ) . toBeLessThanOrEqual ( 3 ) ;
38353834 } ) ;
38363835 } ) ;
38373836
3838- it ( "renders week number column header with react-datepicker__sr-only label and visible #" , ( ) => {
3837+ it ( "renders week number column header with aria- label and visible #" , ( ) => {
38393838 const { container } = render ( < DatePicker showWeekNumbers /> ) ;
38403839 const input = safeQuerySelector ( container , "input" ) ;
38413840 fireEvent . focus ( input ) ;
@@ -3846,15 +3845,15 @@ describe("DatePicker", () => {
38463845 expect ( headers . length ) . toBe ( 8 ) ;
38473846
38483847 const weekNumberHeader = headers [ 0 ] as Element ;
3849- const srOnly = weekNumberHeader . querySelector (
3850- ".react-datepicker__sr-only" ,
3851- ) ;
3852- expect ( srOnly ) . toBeTruthy ( ) ;
3853- expect ( srOnly ?. textContent ?. trim ( ) ?. toLowerCase ( ) ) . toEqual ( "week number" ) ;
3848+ expect ( weekNumberHeader ) . toBeTruthy ( ) ;
3849+
3850+ // Should have aria-label = "Week number"
3851+ const ariaLabel = weekNumberHeader ?. getAttribute ( 'aria-label' ) ;
3852+ expect ( ariaLabel ?. trim ( ) ?. toLowerCase ( ) ) . toEqual ( "week number" ) ;
38543853
38553854 // Should have a visible short name
38563855 const visible = weekNumberHeader . querySelector (
3857- 'span[aria-hidden="true"]' ,
3856+ '.react-datepicker__day-name > span[aria-hidden="true"]' ,
38583857 ) ;
38593858 expect ( visible ) . toBeTruthy ( ) ;
38603859 expect ( visible ?. textContent ?. trim ( ) ?. toLowerCase ( ) ) . toEqual ( "#" ) ;
0 commit comments