@@ -42,13 +42,13 @@ function eraseCookie(name) {
4242
4343 insert_a11y_toolbar += '<ul class="a11y-toolbar-list">' ;
4444 if ( wpatb . enable_contrast == 'true' ) {
45- insert_a11y_toolbar += '<li class="a11y-toolbar-list-item"><button type="button" class="a11y-toggle a11y-toggle-contrast toggle-contrast" id="is_normal_contrast" aria-pressed="false"><span class=\"offscreen\">' + wpatb . contrast + '</span><span class="aticon aticon-adjust" aria-hidden="true"></span></button></li>' ;
45+ insert_a11y_toolbar += '<li class="a11y-toolbar-list-item"><button type="button" class="a11y-toggle a11y-toggle-contrast toggle-contrast" data- id="is_normal_contrast" aria-pressed="false"><span class=\"offscreen\">' + wpatb . contrast + '</span><span class="aticon aticon-adjust" aria-hidden="true"></span></button></li>' ;
4646 }
4747 if ( wpatb . enable_grayscale == 'true' ) {
48- insert_a11y_toolbar += '<li class="a11y-toolbar-list-item"><button type="button" class="a11y-toggle a11y-toggle-grayscale toggle-grayscale" id="is_normal_color" aria-pressed="false"><span class="offscreen">' + wpatb . grayscale + '</span><span class="aticon aticon-tint" aria-hidden="true"></span></button></li>' ;
48+ insert_a11y_toolbar += '<li class="a11y-toolbar-list-item"><button type="button" class="a11y-toggle a11y-toggle-grayscale toggle-grayscale" data- id="is_normal_color" aria-pressed="false"><span class="offscreen">' + wpatb . grayscale + '</span><span class="aticon aticon-tint" aria-hidden="true"></span></button></li>' ;
4949 }
5050 if ( wpatb . enable_fontsize == 'true' ) {
51- insert_a11y_toolbar += '<li class="a11y-toolbar-list-item"><button type="button" class="a11y-toggle a11y-toggle-fontsize toggle-fontsize" id="is_normal_fontsize" aria-pressed="false"><span class="offscreen">' + wpatb . fontsize + '</span><span class="aticon aticon-font" aria-hidden="true"></span></button></li>' ;
51+ insert_a11y_toolbar += '<li class="a11y-toolbar-list-item"><button type="button" class="a11y-toggle a11y-toggle-fontsize toggle-fontsize" data- id="is_normal_fontsize" aria-pressed="false"><span class="offscreen">' + wpatb . fontsize + '</span><span class="aticon aticon-font" aria-hidden="true"></span></button></li>' ;
5252 }
5353 insert_a11y_toolbar += '</ul>' ;
5454 a11y_toolbar . classList . add ( wpatb . responsive , 'a11y-toolbar' , wpatb . is_rtl , wpatb . is_right , wpatb . custom_location ) ;
@@ -98,26 +98,32 @@ let a11yToggle = document.querySelectorAll( '.a11y-toggle' );
9898
9999 function desaturate ( ) {
100100 html . classList . add ( 'desaturated' ) ;
101- let button = toolbar . querySelector ( '#is_normal_color' ) ;
102- button . setAttribute ( 'id' , 'is_grayscale' ) ;
103- button . setAttribute ( 'aria-pressed' , true ) ;
104- button . classList . add ( 'active' ) ;
101+ let buttons = document . querySelectorAll ( '[data-id="is_normal_color"]' ) ;
102+ buttons . forEach ( ( button ) => {
103+ button . setAttribute ( 'data-id' , 'is_grayscale' ) ;
104+ button . setAttribute ( 'aria-pressed' , true ) ;
105+ button . classList . add ( 'active' ) ;
106+ } ) ;
105107 }
106108
107109 function resaturate ( ) {
108110 html . classList . remove ( 'desaturated' ) ;
109- let button = toolbar . querySelector ( '#is_grayscale' ) ;
110- button . setAttribute ( 'id' , 'is_normal_color' ) ;
111- button . setAttribute ( 'aria-pressed' , false ) ;
112- button . classList . remove ( 'active' ) ;
111+ let buttons = document . querySelectorAll ( '[data-id="is_grayscale"]' ) ;
112+ buttons . forEach ( ( button ) => {
113+ button . setAttribute ( 'data-id' , 'is_normal_color' ) ;
114+ button . setAttribute ( 'aria-pressed' , false ) ;
115+ button . classList . remove ( 'active' ) ;
116+ } ) ;
113117 }
114118
115119 function addHighContrast ( ) {
116120 body . classList . add ( 'contrast' ) ;
117- let button = toolbar . querySelector ( '#is_normal_contrast' ) ;
118- button . setAttribute ( 'id' , 'is_high_contrast' ) ;
119- button . setAttribute ( 'aria-pressed' , true ) ;
120- button . classList . add ( 'active' ) ;
121+ let buttons = document . querySelectorAll ( '[data-id="is_normal_contrast"]' ) ;
122+ buttons . forEach ( ( button ) => {
123+ button . setAttribute ( 'data-id' , 'is_high_contrast' ) ;
124+ button . setAttribute ( 'aria-pressed' , true ) ;
125+ button . classList . add ( 'active' ) ;
126+ } ) ;
121127
122128 let styles = document . createElement ( 'link' ) ;
123129 styles . setAttribute ( 'href' , wpa11y . path ) ;
@@ -128,59 +134,71 @@ let a11yToggle = document.querySelectorAll( '.a11y-toggle' );
128134
129135 function resetContrast ( ) {
130136 body . classList . remove ( 'contrast' ) ;
131- let button = toolbar . querySelector ( '#is_high_contrast' ) ;
132- button . setAttribute ( 'id' , 'is_normal_contrast' ) ;
133- button . setAttribute ( 'aria-pressed' , false ) ;
134- button . classList . remove ( 'active' ) ;
137+ let buttons = document . querySelectorAll ( '[data-id="is_high_contrast"]' ) ;
138+ buttons . forEach ( ( button ) => {
139+ button . setAttribute ( 'data-id' , 'is_normal_contrast' ) ;
140+ button . setAttribute ( 'aria-pressed' , false ) ;
141+ button . classList . remove ( 'active' ) ;
142+ } ) ;
135143 let styles = document . getElementById ( 'highContrastStylesheet' ) ;
136144 styles . remove ( ) ;
137145 }
138146
139147 function largeFontSize ( ) {
140148 html . classList . add ( 'fontsize' ) ;
141- let button = toolbar . querySelector ( '#is_normal_fontsize' ) ;
142- button . setAttribute ( 'id' , 'is_large_fontsize' ) ;
143- button . setAttribute ( 'aria-pressed' , true ) ;
144- button . classList . add ( 'active' ) ;
149+ let buttons = document . querySelectorAll ( '[data-id="is_normal_fontsize"]' ) ;
150+ buttons . forEach ( ( button ) => {
151+ button . setAttribute ( 'data-id' , 'is_large_fontsize' ) ;
152+ button . setAttribute ( 'aria-pressed' , true ) ;
153+ button . classList . add ( 'active' ) ;
154+ } ) ;
145155 }
146156
147157 function resetFontSize ( ) {
148158 html . classList . remove ( 'fontsize' ) ;
149- let button = toolbar . querySelector ( '#is_large_fontsize' ) ;
150- button . setAttribute ( 'id' , 'is_normal_fontsize' ) ;
151- button . setAttribute ( 'aria-pressed' , false ) ;
152- button . classList . remove ( 'active' ) ;
159+ let buttons = document . querySelectorAll ( '[data-id="is_large_fontsize"]' ) ;
160+ buttons . forEach ( ( button ) => {
161+ button . setAttribute ( 'data-id' , 'is_normal_fontsize' ) ;
162+ button . setAttribute ( 'aria-pressed' , false ) ;
163+ button . classList . remove ( 'active' ) ;
164+ } ) ;
153165 }
154166
155- const grayscaleButton = document . querySelector ( '.toggle-grayscale' ) ;
156- const contrastButton = document . querySelector ( '.toggle-contrast' ) ;
157- const fontsizeButton = document . querySelector ( '.toggle-fontsize' ) ;
167+ const grayscaleButton = document . querySelectorAll ( '.toggle-grayscale' ) ;
168+ const contrastButton = document . querySelectorAll ( '.toggle-contrast' ) ;
169+ const fontsizeButton = document . querySelectorAll ( '.toggle-fontsize' ) ;
158170
159171 if ( null !== grayscaleButton ) {
160- grayscaleButton . addEventListener ( 'click' , function ( ) {
161- if ( this . getAttribute ( 'id' ) === 'is_normal_color' ) {
162- desaturate ( ) ;
163- } else {
164- resaturate ( ) ;
165- }
166- } ) ;
172+ grayscaleButton . forEach ( ( el ) => {
173+ el . addEventListener ( 'click' , function ( ) {
174+ if ( this . getAttribute ( 'data-id' ) === 'is_normal_color' ) {
175+ desaturate ( ) ;
176+ } else {
177+ resaturate ( ) ;
178+ }
179+ } ) ;
180+ } )
167181 }
168182 if ( null !== contrastButton ) {
169- contrastButton . addEventListener ( 'click' , function ( ) {
170- if ( this . getAttribute ( 'id' ) === 'is_normal_contrast' ) {
171- addHighContrast ( ) ;
172- } else {
173- resetContrast ( ) ;
174- }
183+ contrastButton . forEach ( ( el ) => {
184+ el . addEventListener ( 'click' , function ( ) {
185+ if ( this . getAttribute ( 'data-id' ) === 'is_normal_contrast' ) {
186+ addHighContrast ( ) ;
187+ } else {
188+ resetContrast ( ) ;
189+ }
190+ } ) ;
175191 } ) ;
176192 }
177193 if ( null !== fontsizeButton ) {
178- fontsizeButton . addEventListener ( 'click' , function ( ) {
179- if ( this . getAttribute ( 'id' ) === 'is_normal_fontsize' ) {
180- largeFontSize ( ) ;
181- } else {
182- resetFontSize ( ) ;
183- }
194+ fontsizeButton . forEach ( ( el ) => {
195+ el . addEventListener ( 'click' , function ( ) {
196+ if ( this . getAttribute ( 'data-id' ) === 'is_normal_fontsize' ) {
197+ largeFontSize ( ) ;
198+ } else {
199+ resetFontSize ( ) ;
200+ }
201+ } ) ;
184202 } ) ;
185203 }
186204
0 commit comments