PageSourceSearch

https://swantonschools.org/wp-content/plugins/wp-ada-compliance/res/access_widget.js?ver=1776737610

js swantonschools.org collected 2026-10-07 07:42:54 UTC 51,608 bytes, 1,564 lines download raw bytes

1// JavaScript Document
2jQuery(function ($) {
3  // start jquery
4
5  /**************** move screen reader button to top of page *****************/
6  if (
7    $("#wp-ada-compliance-accessibility-widget-showtools-screenreader")
8      .length !== 0
9  ) {
10    if ($("body a:contains('Skip'):first").length !== 0) {
11      $("body a:contains('Skip'):first").after(
12        $(
13          "#wp-ada-compliance-accessibility-widget-showtools-screenreader"
14        ).detach()
15      );
16    } else if ($("a[class*=skip]").length !== 0) {
17      $("a[class*=skip]").after(
18        $(
19          "#wp-ada-compliance-accessibility-widget-showtools-screenreader"
20        ).detach()
21      );
22    }
23  }
24  /***********************************************************************
25overall widget funtions i.e.. show/hide etc
26***********************************************************************/
27  var adadialogstateVal = false;
28
29  // correct toolbar size issue in mac opera
30  if (
31    navigator.userAgent.indexOf("Mac OS X") != -1 &&
32    navigator.userAgent.indexOf("OPR") != -1
33  ) {
34    $(".wp-ada-compliance-accessibility-widget-toolbar").css("height", "65px");
35  }
36
37  // hide widget based on cookie value
38  if (wp_ada_compliance_getCookie("wp-ada-hide-accessibility-widget") === "1") {
39    $(".wp-ada-compliance-accessibility-widget-hide").text(wpadaVariables.show);
40    $(".wp-ada-compliance-accessibility-widget-hide").data("state", "show");
41    if (wpadaVariables.option === "bottom" || wpadaVariables.option === "top") {
42      $(".wp-ada-compliance-accessibility-widget").css("right", "-50px");
43    } else if (wpadaVariables.option === "left") {
44      $(".wp-ada-compliance-accessibility-widget").css("left", "-50px");
45    }
46  }
47  // show accessibility options on Ctr-M
48  $(document).keydown(function (e) {
49    if (e.keyCode === 77 && e.ctrlKey) {
50      wp_ada_complianceOpenCloseWidget(0);
51    }
52  });
53
54  // show accessibility tools on Ctr-Q
55  $(document).keydown(function (e) {
56    if (e.keyCode === 81 && e.ctrlKey) {
57      wp_ada_complianceOpenCloseWidgetTools(0);
58    }
59  });
60
61  // show widget
62  $(document).on(
63    "click",
64    ".wp-ada-compliance-accessibility-widget-button",
65    function (event) {
66      wp_ada_complianceOpenCloseWidget(0);
67      return false;
68    }
69  );
70
71  // close widget if clicked outside
72  $(document).click(function () {
73    if (
74      $(".wp-ada-compliance-accessibility-widget-content:hover").length == 0
75    ) {
76      $(".wp-ada-compliance-accessibility-widget-content").hide();
77      $(".wp-ada-compliance-accessibility-widget-content").data("hidden", true);
78    }
79  });
80
81  // close widget if close button clicked
82  $(document).on(
83    "click",
84    ".wp-ada-compliance-accessibility-widget-close",
85    function () {
86      wp_ada_complianceOpenCloseWidget(0);
87      return false;
88    }
89  );
90
91  // close widget on esc
92  $(document).keydown(function (e) {
93    if (e.keyCode === 27) {
94      wp_ada_complianceOpenCloseWidget(1);
95    }
96
97    // trap keyboard inside toolbar
98    if (
99      e.shiftKey &&
100      e.keyCode === 9 &&
101      $(".wp-ada-compliance-accessibility-widget-content")
102        .find("a:first")
103        .is(":focus")
104    ) {
105      $(".wp-ada-compliance-accessibility-widget-content")
106        .find("a:last")
107        .focus();
108      return false;
109    } else if (
110      !e.shiftKey &&
111      e.keyCode === 9 &&
112      (($(".wp-ada-compliance-accessibility-widget-protectedbylink").length &&
113        $(".wp-ada-compliance-accessibility-widget-content")
114          .find("a:last")
115          .is(":focus")) ||
116        (!$(".wp-ada-compliance-accessibility-widget-protectedbylink").length &&
117          $(".wp-ada-compliance-accessibility-widget-content")
118            .find("button:last")
119            .is(":focus")))
120    ) {
121      $(".wp-ada-compliance-accessibility-widget-close").focus();
122      return false;
123    }
124  });
125
126  // hide widget button
127  $(document).on(
128    "click",
129    ".wp-ada-compliance-accessibility-widget-hide",
130    function () {
131      var showhideVal = "";
132      showhideVal = $(".wp-ada-compliance-accessibility-widget-hide").data(
133        "state"
134      );
135      //console.log(showhideVal);
136      if (showhideVal === "hide") {
137        document.cookie = "wp-ada-hide-accessibility-widget=1; path=/;";
138        $(".wp-ada-compliance-accessibility-widget-hide").text(
139          wpadaVariables.show
140        );
141        $(".wp-ada-compliance-accessibility-widget-hide").data("state", "show");
142        $(".wp-ada-compliance-accessibility-widget-content").hide();
143
144        if (
145          wpadaVariables.option === "bottom" ||
146          wpadaVariables.option === "top"
147        ) {
148          $(".wp-ada-compliance-accessibility-widget").css("right", "-50px");
149        }
150        if (wpadaVariables.option === "left") {
151          $(".wp-ada-compliance-accessibility-widget").css("left", "-50px");
152        }
153      } else if (showhideVal === "show") {
154        document.cookie =
155          "wp-ada-hide-accessibility-widget=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
156        $(".wp-ada-compliance-accessibility-widget-hide").text(
157          wpadaVariables.hide
158        );
159        $(".wp-ada-compliance-accessibility-widget-hide").data("state", "hide");
160        //console.log(showhideVal);
161        if (
162          wpadaVariables.option === "bottom" ||
163          wpadaVariables.option === "top"
164        ) {
165          $(".wp-ada-compliance-accessibility-widget").css("right", "10px");
166        }
167        if (wpadaVariables.option === "left") {
168          $(".wp-ada-compliance-accessibility-widget").css("left", "10px");
169        }
170      }
171      return false;
172    }
173  );
174
175  // animate hide button
176  $(document).on(
177    "touchstart",
178    ".wp-ada-compliance-accessibility-widget-button",
179    function () {
180      $(".wp-ada-compliance-accessibility-widget-hide").show();
181    }
182  );
183
184  $(document).on(
185    "mouseover",
186    ".wp-ada-compliance-accessibility-widget-button",
187    function () {
188      $(".wp-ada-compliance-accessibility-widget-hide").show();
189    }
190  );
191  $(document).on(
192    "mouseover",
193    ".wp-ada-compliance-accessibility-widget-hide",
194    function () {
195      $(".wp-ada-compliance-accessibility-widget-hide").show();
196    }
197  );
198  $(document).on(
199    "mouseout",
200    ".wp-ada-compliance-accessibility-widget-button",
201    function () {
202      $(".wp-ada-compliance-accessibility-widget-hide").hide();
203    }
204  );
205  $(document).on(
206    "mouseout",
207    ".wp-ada-compliance-accessibility-widget-hide",
208    function () {
209      $(".wp-ada-compliance-accessibility-widget-hide").hide();
210    }
211  );
212
213  // close alert
214  $(document).on(
215    "click",
216    ".wp-ada-compliance-accessibility-alert-close",
217    function () {
218      $(".wp-ada-compliance-widget-alerts").hide();
219      $(".wp-ada-compliance-accessibility-widget-statmentlink").focus();
220      return false;
221    }
222  );
223
224  // show statement
225  $(document).on(
226    "click",
227    ".wp-ada-compliance-accessibility-widget-statmentlink",
228    function () {
229      $(".wp-ada-compliance-accessibility-widget-accessible-text").hide();
230
231      if (
232        $(".wp-ada-compliance-accessibility-widget-statement").is(":visible")
233      ) {
234        $(".wp-ada-compliance-accessibility-widget-statmentlink").focus();
235        $(".wp-ada-compliance-accessibility-widget-statement").hide();
236      } else {
237        $(".wp-ada-compliance-accessibility-widget-statement").show();
238        $(".wp-ada-compliance-accessibility-alert-close").focus();
239        wp_ada_compliance_widget_trapFocus(
240          document.getElementById(
241            "wp-ada-compliance-accessibility-widget-statement"
242          )
243        );
244      }
245      return false;
246    }
247  );
248
249  // show accessible website text
250  $(document).on(
251    "click",
252    ".wp-ada-compliance-accessibility-widget-accessiblesite-accessible",
253    function (e) {
254      $(".wp-ada-compliance-accessibility-widget-statement").hide();
255      $(".wp-ada-compliance-accessibility-widget-accessible-text").toggle();
256      return false;
257    }
258  );
259
260  // function to open close widget
261  function wp_ada_complianceOpenCloseWidget(closeonly) {
262    adadialogstateVal = $(
263      ".wp-ada-compliance-accessibility-widget-content"
264    ).data("hidden");
265
266    if (adadialogstateVal === true && closeonly !== 1) {
267      $(".wp-ada-compliance-accessibility-widget-content").show();
268      $(".wp-ada-compliance-accessibility-widget-accessible-text").hide();
269
270      $(".wp-ada-compliance-accessibility-widget-content").data(
271        "hidden",
272        false
273      );
274      $(".wp-ada-compliance-accessibility-widget-close").focus();
275      // $('.wp-ada-compliance-accessibility-widget-content').draggable();
276    }
277    if (adadialogstateVal === false || closeonly === 1) {
278      if (
279        !$(".wp-ada-compliance-accessibility-widget-content").is(":visible")
280      ) {
281        return;
282      }
283      $(".wp-ada-compliance-accessibility-widget-content").hide();
284      $(".wp-ada-compliance-accessibility-widget-accessible-text").hide();
285      //$('.wp-ada-compliance-accessibility-widget-committed-text').hide();
286      $(".wp-ada-compliance-accessibility-widget-content").data("hidden", true);
287      $(".wp-ada-compliance-accessibility-widget-button").focus();
288    }
289  }
290
291  /************************************************************************
292// toolbar features and show/hide
293**************************************************************************/
294  // show tools based on cookie value
295  wp_ada_compliance_set_toolbar_states();
296
297  // display toolbar
298  $(document).on(
299    "click",
300    ".wp-ada-compliance-accessibility-widget-showtools",
301    function () {
302      wp_ada_complianceOpenCloseWidgetTools(0);
303    }
304  );
305  // goto toolbar
306  $(document).on(
307    "click",
308    "#wp-ada-compliance-accessibility-widget-showtools-screenreader",
309    function () {
310      if ($("#wp-ada-compliance-accessibility-widget-showtools").length === 1) {
311        $("#wp-ada-compliance-accessibility-widget-button").focus();
312        return false;
313      }
314    }
315  );
316
317  // goto screen reader link
318  $(document).on(
319    "click",
320    "#wp-ada-compliance-accessibility-widget-showtools-returnto-screenreader",
321    function () {
322      if (
323        $("#wp-ada-compliance-accessibility-widget-showtools-screenreader")
324          .length === 1
325      ) {
326        $(
327          "#wp-ada-compliance-accessibility-widget-showtools-screenreader"
328        ).focus();
329      }
330    }
331  );
332
333  // hide toolbar
334  $(document).on(
335    "click",
336    ".wp-ada-compliance-accessibility-widget-toolbarclose",
337    function () {
338      wp_ada_complianceOpenCloseWidgetTools(1);
339      //var returnid = event.target.id;
340      if ($("#wp-ada-compliance-accessibility-widget-showtools").length === 1) {
341        $("#wp-ada-compliance-accessibility-widget-button").focus();
342      } else if (
343        $("#wp-ada-compliance-accessibility-widget-shortcode-showtools")
344          .length === 1
345      ) {
346        $(
347          "#wp-ada-compliance-accessibility-widget-shortcode-showtools"
348        ).focus();
349      } else if (
350        $(".wp-ada-compliance-accessibility-widget-showtools").length === 2
351      ) {
352        $(".wp-ada-compliance-accessibility-widget-showtools a:first").focus();
353      }
354
355      return false;
356    }
357  );
358
359  // function to open close widget tools
360  function wp_ada_complianceOpenCloseWidgetTools(closeonly) {
361    if (
362      !$(".wp-ada-compliance-accessibility-widget-toolbar").is(":visible") &&
363      closeonly !== 1
364    ) {
365      $(".wp-ada-compliance-accessibility-widget-toolbar").show();
366      if (closeonly !== 2) {
367        wp_ada_complianceOpenCloseWidget(1);
368        $(".wp-ada-compliance-accessibility-widget-toolbarclose").focus();
369      }
370      document.cookie = "wp-ada-show-accessibility-tools=1; path=/;";
371    } else if (
372      $(".wp-ada-compliance-accessibility-widget-toolbar").is(":visible") ||
373      closeonly === 1
374    ) {
375      $(".wp-ada-compliance-accessibility-widget-toolbar").hide();
376      document.cookie =
377        "wp-ada-show-accessibility-tools=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
378    }
379  }
380
381  // function to add adjustment class
382  function wp_ada_compliance_AddAdjustmentClass(state) {
383    if (state === 1) {
384      // add widget tool adjustments to body tag
385      $("body *").removeClass(
386        "wp-ada-compliance-accessibility-widget-adjustments"
387      );
388      $("body *").addClass(
389        "wp-ada-compliance-accessibility-widget-adjustments"
390      );
391      $(
392        ".wp-ada-compliance-accessibility-widget, .wp-ada-compliance-accessibility-widget *, .wp-ada-compliance-accessibility-widget-toolbar a, .wp-ada-compliance-accessibility-widget-toolbar i, .wp-ada-compliance-accessibility-widget i, #wpadminbar *"
393      ).removeClass("wp-ada-compliance-accessibility-widget-adjustments");
394    } else {
395      $("body *").removeClass(
396        "wp-ada-compliance-accessibility-widget-adjustments"
397      );
398    }
399  }
400
401  // adjust font size
402  $(document).on(
403    "click",
404    ".wp-ada-compliance-accessibility-widget-textsize",
405    function () {
406      var newfontsize = "";
407      var curfontsize = 15;
408      wp_ada_compliance_AddAdjustmentClass(1);
409      curfontsize = parseInt(
410        $(".wp-ada-compliance-accessibility-widget-textsize").attr(
411          "data-fontsize"
412        )
413      );
414      newfontsize = curfontsize + 3;
415      var fontsizeinc = (newfontsize - 15) / 3;
416      if (newfontsize > "27") {
417        wp_ada_reset_fontsize();
418      } else {
419        document.cookie =
420          "wp-ada-accessibility-tools-fontsize=" + newfontsize + "; path=/;";
421        $(".wp-ada-compliance-accessibility-widget-textsize").attr(
422          "data-fontsize",
423          newfontsize
424        );
425        $(".wp-ada-compliance-accessibility-widget-adjustments").each(
426          function () {
427            var $this = $(this);
428            if (parseInt($this.css("fontSize")) < newfontsize) {
429              $this.css("font-size", newfontsize + "px");
430            }
431          }
432        );
433        //  $('.wp-ada-compliance-accessibility-widget-adjustments').css('font-size', newfontsize+'px');
434        $(
435          ".wp-ada-compliance-accessibility-widget-textsize .wp-ada-progress"
436        ).append('<span class="wp-ada-tools-progress-dot"></span>');
437        $(
438          ".wp-ada-compliance-accessibility-widget-textsize .wp-ada-tools-progress2-dot"
439        ).detach();
440        for (var x = fontsizeinc; x < 4; x++) {
441          $(
442            ".wp-ada-compliance-accessibility-widget-textsize .wp-ada-progress"
443          ).append('<span class="wp-ada-tools-progress2-dot"></span>');
444        }
445        $(".wp-ada-compliance-accessibility-widget-textsize").addClass(
446          "wp-ada-compliance-accessibility-widget-tool-active"
447        );
448      }
449      return false;
450    }
451  );
452  // reset font size
453  function wp_ada_reset_fontsize() {
454    document.cookie =
455      "wp-ada-accessibility-tools-fontsize=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
456    $(".wp-ada-compliance-accessibility-widget-textsize").attr(
457      "data-fontsize",
458      "15"
459    );
460    $(".wp-ada-compliance-accessibility-widget-adjustments").css(
461      "font-size",
462      ""
463    );
464    $(".wp-ada-compliance-accessibility-widget-textsize").blur();
465    $(
466      ".wp-ada-compliance-accessibility-widget-textsize .wp-ada-tools-progress-dot"
467    ).detach();
468    $(
469      ".wp-ada-compliance-accessibility-widget-textsize .wp-ada-tools-progress2-dot"
470    ).detach();
471    $(".wp-ada-compliance-accessibility-widget-textsize").removeClass(
472      "wp-ada-compliance-accessibility-widget-tool-active"
473    );
474  }
475
476  // big cursor
477  $(document).on(
478    "click",
479    ".wp-ada-compliance-accessibility-widget-bigcursor",
480    function () {
481      wp_ada_compliance_AddAdjustmentClass(1);
482      var bigcursorstate = $(
483        ".wp-ada-compliance-accessibility-widget-bigcursor"
484      ).attr("data-bigcursor");
485      if (bigcursorstate === "1") {
486        wp_ada_reset_bigcursor();
487      } else {
488        bigcursorstate = "1";
489        document.cookie =
490          "wp-ada-accessibility-tools-bigcursor=" +
491          bigcursorstate +
492          "; path=/;";
493        $(".wp-ada-compliance-accessibility-widget-bigcursor").attr(
494          "data-bigcursor",
495          bigcursorstate
496        );
497        $("html").addClass("wp-ada-bigcursor");
498        $(".wp-ada-compliance-accessibility-widget-bigcursor").addClass(
499          "wp-ada-compliance-accessibility-widget-tool-active"
500        );
501      }
502      return false;
503    }
504  );
505  // reset bigcursor
506  function wp_ada_reset_bigcursor() {
507    document.cookie =
508      "wp-ada-accessibility-tools-bigcursor=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
509    $(".wp-ada-compliance-accessibility-widget-bigcursor").attr(
510      "data-bigcursor",
511      "0"
512    );
513    $("html").removeClass("wp-ada-bigcursor");
514    $(".wp-ada-compliance-accessibility-widget-bigcursor").blur();
515    $(".wp-ada-compliance-accessibility-widget-bigcursor").removeClass(
516      "wp-ada-compliance-accessibility-widget-tool-active"
517    );
518  }
519
520  // adjust letter spacing
521  $(document).on(
522    "click",
523    ".wp-ada-compliance-accessibility-widget-textspacing",
524    function () {
525      wp_ada_compliance_AddAdjustmentClass(1);
526      var newtextspacing = "";
527      var curtextspacing = 1;
528      curtextspacing = parseInt(
529        $(".wp-ada-compliance-accessibility-widget-textspacing").attr(
530          "data-textspacing"
531        )
532      );
533      newtextspacing = curtextspacing + 2;
534      var textspacinginc = (newtextspacing - 1) / 2;
535      if (newtextspacing > 7) {
536        wp_ada_reset_textspacing();
537      } else {
538        document.cookie =
539          "wp-ada-accessibility-tools-textspacing=" +
540          newtextspacing +
541          "; path=/;";
542        $(".wp-ada-compliance-accessibility-widget-textspacing").attr(
543          "data-textspacing",
544          newtextspacing
545        );
546        $(
547          ".wp-ada-compliance-accessibility-widget-textspacing .wp-ada-progress"
548        ).append('<span class="wp-ada-tools-progress-dot"></span>');
549        $(".wp-ada-compliance-accessibility-widget-adjustments").css(
550          "letter-spacing",
551          newtextspacing + "px"
552        );
553        $(".wp-ada-compliance-accessibility-widget-textspacing").addClass(
554          "wp-ada-compliance-accessibility-widget-tool-active"
555        );
556        $(
557          ".wp-ada-compliance-accessibility-widget-textspacing .wp-ada-tools-progress2-dot"
558        ).detach();
559        for (var x = textspacinginc; x < 3; x++) {
560          $(
561            ".wp-ada-compliance-accessibility-widget-textspacing .wp-ada-progress"
562          ).append('<span class="wp-ada-tools-progress2-dot"></span>');
563        }
564      }
565      return false;
566    }
567  );
568  // reset textspacing
569  function wp_ada_reset_textspacing() {
570    document.cookie =
571      "wp-ada-accessibility-tools-textspacing=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
572    $(".wp-ada-compliance-accessibility-widget-textspacing").attr(
573      "data-textspacing",
574      "1"
575    );
576    $(".wp-ada-compliance-accessibility-widget-adjustments").css(
577      "letter-spacing",
578      ""
579    );
580    $(
581      ".wp-ada-compliance-accessibility-widget-textspacing .wp-ada-tools-progress-dot"
582    ).detach();
583    $(
584      ".wp-ada-compliance-accessibility-widget-textspacing .wp-ada-tools-progress2-dot"
585    ).detach();
586    $(".wp-ada-compliance-accessibility-widget-textspacing").blur();
587    $(".wp-ada-compliance-accessibility-widget-textspacing").removeClass(
588      "wp-ada-compliance-accessibility-widget-tool-active"
589    );
590  }
591
592  // adjust font family
593  $(document).on(
594    "click",
595    ".wp-ada-compliance-accessibility-widget-fontfamily",
596    function () {
597      wp_ada_compliance_AddAdjustmentClass(1);
598      var fontfamilies = [
599        "auto",
600        "Arial,serif",
601        '"Georgia",serif',
602        '"opendyslexicregular",serif',
603      ];
604
605      var newfontfamily = parseInt(
606        $(".wp-ada-compliance-accessibility-widget-fontfamily").attr(
607          "data-fontfamily"
608        )
609      );
610      newfontfamily = newfontfamily + 1;
611
612      if (newfontfamily > 3) {
613        wp_ada_reset_fontfamily();
614      } else {
615        document.cookie =
616          "wp-ada-accessibility-tools-fontfamily=" +
617          newfontfamily +
618          "; path=/;";
619        $(".wp-ada-compliance-accessibility-widget-fontfamily").attr(
620          "data-fontfamily",
621          newfontfamily
622        );
623        $("body").css("font-family", fontfamilies[newfontfamily]);
624        $(".wp-ada-compliance-accessibility-widget-adjustments").each(
625          function () {
626            var $this = $(this);
627            $this.css("font-family", fontfamilies[newfontfamily]);
628          }
629        );
630        $(
631          ".wp-ada-compliance-accessibility-widget-fontfamily .wp-ada-progress"
632        ).append('<span class="wp-ada-tools-progress-dot"></span>');
633        $(
634          ".wp-ada-compliance-accessibility-widget-fontfamily .wp-ada-tools-progress2-dot"
635        ).detach();
636        for (var x = newfontfamily; x < 3; x++) {
637          $(
638            ".wp-ada-compliance-accessibility-widget-fontfamily .wp-ada-progress"
639          ).append('<span class="wp-ada-tools-progress2-dot"></span>');
640        }
641        $(".wp-ada-compliance-accessibility-widget-fontfamily").addClass(
642          "wp-ada-compliance-accessibility-widget-tool-active"
643        );
644      }
645      return false;
646    }
647  );
648  // reset fontfamily
649  function wp_ada_reset_fontfamily() {
650    document.cookie =
651      "wp-ada-accessibility-tools-fontfamily=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
652    $(".wp-ada-compliance-accessibility-widget-fontfamily").attr(
653      "data-fontfamily",
654      "0"
655    );
656    $("body").css("font-family", "");
657    $(".wp-ada-compliance-accessibility-widget-adjustments").each(function () {
658      var $this = $(this);
659      $this.css("font-family", "");
660    });
661    $(".wp-ada-compliance-accessibility-widget-fontfamily").blur();
662    $(
663      ".wp-ada-compliance-accessibility-widget-fontfamily .wp-ada-tools-progress-dot"
664    ).detach();
665    $(
666      ".wp-ada-compliance-accessibility-widget-fontfamily .wp-ada-tools-progress2-dot"
667    ).detach();
668    $(".wp-ada-compliance-accessibility-widget-fontfamily").removeClass(
669      "wp-ada-compliance-accessibility-widget-tool-active"
670    );
671  }
672
673  //  highlight links
674  $(document).on(
675    "click",
676    ".wp-ada-compliance-accessibility-widget-highlightlinks",
677    function () {
678      wp_ada_compliance_AddAdjustmentClass(1);
679      var highlightlinks = $(
680        ".wp-ada-compliance-accessibility-widget-highlightlinks"
681      ).attr("data-highlightlinks");
682      if (highlightlinks === "1") {
683        wp_ada_reset_highlightlinks();
684      } else {
685        highlightlinks = "1";
686        document.cookie =
687          "wp-ada-accessibility-tools-highlightlinks=" +
688          highlightlinks +
689          "; path=/;";
690        $(".wp-ada-compliance-accessibility-widget-highlightlinks").attr(
691          "data-highlightlinks",
692          highlightlinks
693        );
694        $("html").addClass("wp-ada-highlightlinks");
695        $(".wp-ada-compliance-accessibility-widget-highlightlinks").addClass(
696          "wp-ada-compliance-accessibility-widget-tool-active"
697        );
698      }
699      return false;
700    }
701  );
702  // reset highlightlinks
703  function wp_ada_reset_highlightlinks() {
704    document.cookie =
705      "wp-ada-accessibility-tools-highlightlinks=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
706    $(".wp-ada-compliance-accessibility-widget-highlightlinks").attr(
707      "data-highlightlinks",
708      "0"
709    );
710    $("html").removeClass("wp-ada-highlightlinks");
711    $(".wp-ada-compliance-accessibility-widget-highlightlinks").blur();
712    $(".wp-ada-compliance-accessibility-widget-highlightlinks").removeClass(
713      "wp-ada-compliance-accessibility-widget-tool-active"
714    );
715    return false;
716  }
717
718  //  highlight headings
719  $(document).on(
720    "click",
721    ".wp-ada-compliance-accessibility-widget-highlightheadings",
722    function () {
723      wp_ada_compliance_AddAdjustmentClass(1);
724      var highlightheadings = $(
725        ".wp-ada-compliance-accessibility-widget-highlightheadings"
726      ).attr("data-highlightheadings");
727      if (highlightheadings === "1") {
728        wp_ada_reset_highlightheadings();
729      } else {
730        highlightheadings = "1";
731        document.cookie =
732          "wp-ada-accessibility-tools-highlightheadings=" +
733          highlightheadings +
734          "; path=/;";
735        $(".wp-ada-compliance-accessibility-widget-highlightheadings").attr(
736          "data-highlightheadings",
737          highlightheadings
738        );
739        $("html").addClass("wp-ada-highlightheadings");
740        $(".wp-ada-compliance-accessibility-widget-highlightheadings").addClass(
741          "wp-ada-compliance-accessibility-widget-tool-active"
742        );
743      }
744      return false;
745    }
746  );
747  // reset highlightheadings
748  function wp_ada_reset_highlightheadings() {
749    document.cookie =
750      "wp-ada-accessibility-tools-highlightheadings=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
751    $(".wp-ada-compliance-accessibility-widget-highlightheadings").attr(
752      "data-highlightheadings",
753      "0"
754    );
755    $("html").removeClass("wp-ada-highlightheadings");
756    $(".wp-ada-compliance-accessibility-widget-highlightheadings").blur();
757    $(".wp-ada-compliance-accessibility-widget-highlightheadings").removeClass(
758      "wp-ada-compliance-accessibility-widget-tool-active"
759    );
760  }
761
762  //show tool tips
763  var wpaddatooltips;
764  $(document).on(
765    "click",
766    ".wp-ada-compliance-accessibility-widget-tooltips",
767    function () {
768      wp_ada_compliance_AddAdjustmentClass(1);
769      wpaddatooltips = $(
770        ".wp-ada-compliance-accessibility-widget-tooltips"
771      ).attr("data-tooltips");
772      if (wpaddatooltips === "1") {
773        wp_ada_reset_tooltips();
774      } else {
775        wpaddatooltips = "1";
776        document.cookie =
777          "wp-ada-accessibility-tools-tooltips=" + wpaddatooltips + "; path=/;";
778        $(".wp-ada-compliance-accessibility-widget-tooltips").attr(
779          "data-tooltips",
780          wpaddatooltips
781        );
782        $("html").addClass("wp-ada-tooltips");
783        $(".wp-ada-compliance-accessibility-widget-tooltips").addClass(
784          "wp-ada-compliance-accessibility-widget-tool-active"
785        );
786      }
787      return false;
788    }
789  );
790  // reset tooltips
791  function wp_ada_reset_tooltips() {
792    document.cookie =
793      "wp-ada-accessibility-tools-tooltips=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
794    $(".wp-ada-compliance-accessibility-widget-tooltips").attr(
795      "data-tooltips",
796      "0"
797    );
798    $("html").removeClass("wp-ada-tooltips");
799    $(".wp-ada-compliance-accessibility-widget-tooltips").blur();
800    $(".wp-ada-compliance-accessibility-widget-tooltips").removeClass(
801      "wp-ada-compliance-accessibility-widget-tool-active"
802    );
803    $("#wp-ada-tooltips").hide();
804  }
805  // add focus outline for keyboardnav
806  $(document).on(
807    "click",
808    ".wp-ada-compliance-accessibility-widget-keyboardnav",
809    function () {
810      wp_ada_compliance_AddAdjustmentClass(1);
811      var keyboardnav = $(
812        ".wp-ada-compliance-accessibility-widget-keyboardnav"
813      ).attr("data-keyboardnav");
814      if (keyboardnav === "1") {
815        wp_ada_reset_keyboardnav();
816      } else {
817        keyboardnav = "1";
818        document.cookie =
819          "wp-ada-accessibility-tools-keyboardnav=" + keyboardnav + "; path=/;";
820        $(".wp-ada-compliance-accessibility-widget-keyboardnav").attr(
821          "data-keyboardnav",
822          keyboardnav
823        );
824        $("html").addClass("wp-ada-keyboardnav");
825        $(".wp-ada-compliance-accessibility-widget-keyboardnav").addClass(
826          "wp-ada-compliance-accessibility-widget-tool-active"
827        );
828      }
829      return false;
830    }
831  );
832  // reset keyboardnav
833  function wp_ada_reset_keyboardnav() {
834    document.cookie =
835      "wp-ada-accessibility-tools-keyboardnav=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
836    $(".wp-ada-compliance-accessibility-widget-keyboardnav").attr(
837      "data-keyboardnav",
838      "0"
839    );
840    $("html").removeClass("wp-ada-keyboardnav");
841    $(".wp-ada-compliance-accessibility-widget-keyboardnav").blur();
842    $(".wp-ada-compliance-accessibility-widget-keyboardnav").removeClass(
843      "wp-ada-compliance-accessibility-widget-tool-active"
844    );
845  }
846
847  // stop animations
848  $(document).on(
849    "click",
850    ".wp-ada-compliance-accessibility-widget-stopanimations",
851    function () {
852      wp_ada_compliance_AddAdjustmentClass(1);
853      var stopanimations = $(
854        ".wp-ada-compliance-accessibility-widget-stopanimations"
855      ).attr("data-stopanimations");
856      if (stopanimations === "1") {
857        wp_ada_reset_stopanimations();
858      } else {
859        stopanimations = "1";
860        document.cookie =
861          "wp-ada-accessibility-tools-stopanimations=" +
862          stopanimations +
863          "; path=/;";
864        $(".wp-ada-compliance-accessibility-widget-stopanimations").attr(
865          "data-stopanimations",
866          stopanimations
867        );
868        $("html").addClass("wp-ada-stopanimations");
869        document.querySelectorAll("video").forEach((vid) => vid.pause());
870        document.querySelectorAll("audio").forEach((aud) => aud.pause());
871
872        var wp_ada_stopAllYouTubeVideos = () => {
873          var iframes = document.querySelectorAll("iframe");
874          Array.prototype.forEach.call(iframes, (iframe) => {
875            iframe.contentWindow.postMessage(
876              JSON.stringify({ event: "command", func: "stopVideo" }),
877              "*"
878            );
879          });
880        };
881        wp_ada_stopAllYouTubeVideos();
882
883        $(".wp-ada-compliance-accessibility-widget-stopanimations").addClass(
884          "wp-ada-compliance-accessibility-widget-tool-active"
885        );
886      }
887      return false;
888    }
889  );
890
891  // reset stop animations
892  function wp_ada_reset_stopanimations() {
893    document.cookie =
894      "wp-ada-accessibility-tools-stopanimations=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
895    $(".wp-ada-compliance-accessibility-widget-stopanimations").attr(
896      "data-stopanimations",
897      "0"
898    );
899    $("html").removeClass("wp-ada-stopanimations");
900    $(".wp-ada-compliance-accessibility-widget-stopanimations").blur();
901    $(".wp-ada-compliance-accessibility-widget-stopanimations").removeClass(
902      "wp-ada-compliance-accessibility-widget-tool-active"
903    );
904  }
905
906  // color contrast
907  $(document).on(
908    "click",
909    ".wp-ada-compliance-accessibility-widget-contrast",
910    function () {
911      wp_ada_compliance_AddAdjustmentClass(1);
912      var curcontrast = parseInt(
913        $(".wp-ada-compliance-accessibility-widget-contrast").attr(
914          "data-contrast"
915        )
916      );
917
918      var newcontrast = curcontrast + 1;
919
920      if (newcontrast > "4") {
921        wp_ada_reset_color_contrast();
922      } else {
923        document.cookie =
924          "wp-ada-accessibility-tools-contrast=" + newcontrast + "; path=/;";
925        $(".wp-ada-compliance-accessibility-widget-contrast").attr(
926          "data-contrast",
927          newcontrast
928        );
929        $("html").removeClass("wp-ada-colorcontrast" + curcontrast);
930        $("html").addClass("wp-ada-colorcontrast" + newcontrast);
931        $(
932          ".wp-ada-compliance-accessibility-widget-contrast .wp-ada-progress"
933        ).append('<span class="wp-ada-tools-progress-dot"></span>');
934        $(".wp-ada-compliance-accessibility-widget-contrast").addClass(
935          "wp-ada-compliance-accessibility-widget-tool-active"
936        );
937        $(
938          ".wp-ada-compliance-accessibility-widget-contrast .wp-ada-tools-progress2-dot"
939        ).detach();
940        for (var x = newcontrast; x < 4; x++) {
941          $(
942            ".wp-ada-compliance-accessibility-widget-contrast .wp-ada-progress"
943          ).append('<span class="wp-ada-tools-progress2-dot"></span>');
944        }
945      }
946      return false;
947    }
948  );
949
950  // reset color contrast
951  function wp_ada_reset_color_contrast() {
952    document.cookie =
953      "wp-ada-accessibility-tools-contrast=; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/;";
954    $(".wp-ada-compliance-accessibility-widget-contrast").attr(
955      "data-contrast",
956      "0"
957    );
958    $("html").removeClass("wp-ada-colorcontrast1");
959    $("html").removeClass("wp-ada-colorcontrast2");
960    $("html").removeClass("wp-ada-colorcontrast3");
961    $("html").removeClass("wp-ada-colorcontrast4");
962    $(
963      ".wp-ada-compliance-accessibility-widget-contrast .wp-ada-tools-progress-dot"
964    ).detach();
965    $(
966      ".wp-ada-compliance-accessibility-widget-contrast .wp-ada-tools-progress2-dot"
967    ).detach();
968    $(".wp-ada-compliance-accessibility-widget-contrast").blur();
969    $(".wp-ada-compliance-accessibility-widget-contrast").removeClass(
970      "wp-ada-compliance-accessibility-widget-tool-active"
971    );
972  }
973  // reset all
974  $(document).on(
975    "click",
976    ".wp-ada-compliance-accessibility-widget-resetall",
977    function () {
978      wp_ada_reset_color_contrast();
979      wp_ada_reset_stopanimations();
980      wp_ada_reset_keyboardnav();
981      wp_ada_reset_tooltips();
982      wp_ada_reset_highlightlinks();
983      wp_ada_reset_highlightheadings();
984      wp_ada_reset_fontfamily();
985      wp_ada_reset_textspacing();
986      wp_ada_reset_bigcursor();
987      wp_ada_reset_fontsize();
988      wp_ada_compliance_AddAdjustmentClass(0);
989      $(".wp-ada-compliance-accessibility-widget-resetall").blur();
990      return false;
991    }
992  );
993
994  // trap keyboard inside toolbar
995  $(document).keydown(function (e) {
996    if (
997      e.shiftKey &&
998      e.keyCode === 9 &&
999      $(".wp-ada-compliance-accessibility-widget-toolbar")
1000        .children()
1001        .first()
1002        .is(":focus")
1003    ) {
1004      $(".wp-ada-compliance-accessibility-widget-resetall").focus();
1005      return false;
1006    } else if (
1007      !e.shiftKey &&
1008      e.keyCode === 9 &&
1009      $(".wp-ada-compliance-accessibility-widget-toolbar")
1010        .children()
1011        .last()
1012        .is(":focus")
1013    ) {
1014      $(".wp-ada-compliance-accessibility-widget-toolbar")
1015        .find(":first")
1016        .focus();
1017      return false;
1018    }
1019  });
1020
1021  // set toolbar states upon page load
1022  function wp_ada_compliance_set_toolbar_states() {
1023    // show / hide toolbar
1024    if (
1025      wp_ada_compliance_getCookie("wp-ada-show-accessibility-tools") === "1"
1026    ) {
1027      wp_ada_complianceOpenCloseWidgetTools(2);
1028    }
1029
1030    var x;
1031    var y;
1032
1033    // set font size
1034    var newfontsize = wp_ada_compliance_getCookie(
1035      "wp-ada-accessibility-tools-fontsize"
1036    );
1037    if (newfontsize > 0) {
1038      wp_ada_compliance_AddAdjustmentClass(1);
1039      $(".wp-ada-compliance-accessibility-widget-adjustments").each(
1040        function () {
1041          var $this = $(this);
1042          if (parseInt($this.css("fontSize")) < newfontsize) {
1043            $this.css("font-size", newfontsize + "px");
1044          }
1045        }
1046      );
1047      //$( ".wp-ada-compliance-accessibility-widget-adjustments" ).css('font-size', newfontsize+'px');
1048      $(".wp-ada-compliance-accessibility-widget-textsize").attr(
1049        "data-fontsize",
1050        newfontsize
1051      );
1052      var fontsizeincrement = (newfontsize - 15) / 3;
1053      for (x = 1; x <= fontsizeincrement; x++) {
1054        $(
1055          ".wp-ada-compliance-accessibility-widget-textsize .wp-ada-progress"
1056        ).append('<span class="wp-ada-tools-progress-dot"></span>');
1057      }
1058      for (y = x; y <= 4; y++) {
1059        $(
1060          ".wp-ada-compliance-accessibility-widget-textsize .wp-ada-progress"
1061        ).append('<span class="wp-ada-tools-progress2-dot"></span>');
1062      }
1063      $(".wp-ada-compliance-accessibility-widget-textsize").addClass(
1064        "wp-ada-compliance-accessibility-widget-tool-active"
1065      );
1066    }
1067
1068    // set letter spacing
1069    var newtextspacing = wp_ada_compliance_getCookie(
1070      "wp-ada-accessibility-tools-textspacing"
1071    );
1072    if (newtextspacing !== "") {
1073      wp_ada_compliance_AddAdjustmentClass(1);
1074      $(".wp-ada-compliance-accessibility-widget-adjustments").css(
1075        "letter-spacing",
1076        newtextspacing + "px"
1077      );
1078      $(".wp-ada-compliance-accessibility-widget-textspacing").attr(
1079        "data-textspacing",
1080        newtextspacing
1081      );
1082      var textspacingincrement = (newtextspacing - 1) / 2;
1083      for (x = 1; x <= textspacingincrement; x++) {
1084        $(
1085          ".wp-ada-compliance-accessibility-widget-textspacing .wp-ada-progress"
1086        ).append('<span class="wp-ada-tools-progress-dot"></span>');
1087      }
1088      for (y = x; y <= 3; y++) {
1089        $(
1090          ".wp-ada-compliance-accessibility-widget-textspacing .wp-ada-progress"
1091        ).append('<span class="wp-ada-tools-progress2-dot"></span>');
1092      }
1093      $(".wp-ada-compliance-accessibility-widget-textspacing").addClass(
1094        "wp-ada-compliance-accessibility-widget-tool-active"
1095      );
1096    }
1097
1098    // adjust font family
1099    var newfontfamily = wp_ada_compliance_getCookie(
1100      "wp-ada-accessibility-tools-fontfamily"
1101    );
1102    var fontfamilies = [
1103      "auto",
1104      "Arial,serif",
1105      '"Georgia",serif',
1106      '"opendyslexicregular",serif',
1107    ];
1108
1109    if (newfontfamily !== "") {
1110      wp_ada_compliance_AddAdjustmentClass(1);
1111      $("body").css("font-family", fontfamilies[newfontfamily]);
1112      $(".wp-ada-compliance-accessibility-widget-adjustments").each(
1113        function () {
1114          var $this = $(this);
1115          $this.css("font-family", fontfamilies[newfontfamily]);
1116        }
1117      );
1118      $(".wp-ada-compliance-accessibility-widget-fontfamily").attr(
1119        "data-fontfamily",
1120        newfontfamily
1121      );
1122      var fontfamilyincrement = newfontfamily;
1123      for (x = 1; x <= fontfamilyincrement; x++) {
1124        $(
1125          ".wp-ada-compliance-accessibility-widget-fontfamily .wp-ada-progress"
1126        ).append('<span class="wp-ada-tools-progress-dot"></span>');
1127      }
1128      for (y = x; y <= 3; y++) {
1129        $(
1130          ".wp-ada-compliance-accessibility-widget-fontfamily .wp-ada-progress"
1131        ).append('<span class="wp-ada-tools-progress2-dot"></span>');
1132      }
1133      $(".wp-ada-compliance-accessibility-widget-fontfamily").addClass(
1134        "wp-ada-compliance-accessibility-widget-tool-active"
1135      );
1136    }
1137
1138    // set big cursor
1139    var bigcursor = wp_ada_compliance_getCookie(
1140      "wp-ada-accessibility-tools-bigcursor"
1141    );
1142
1143    if (bigcursor === "1") {
1144      wp_ada_compliance_AddAdjustmentClass(1);
1145      $("html").addClass("wp-ada-bigcursor");
1146      $(".wp-ada-compliance-accessibility-widget-bigcursor").attr(
1147        "data-bigcursor",
1148        bigcursor
1149      );
1150      $(".wp-ada-compliance-accessibility-widget-bigcursor").addClass(
1151        "wp-ada-compliance-accessibility-widget-tool-active"
1152      );
1153    }
1154
1155    // display tool tips
1156    wpaddatooltips = wp_ada_compliance_getCookie(
1157      "wp-ada-accessibility-tools-tooltips"
1158    );
1159    if (wpaddatooltips === "1") {
1160      wp_ada_compliance_AddAdjustmentClass(1);
1161      $("html").addClass("wp-ada-tooltips");
1162      $(".wp-ada-compliance-accessibility-widget-tooltips").attr(
1163        "data-tooltips",
1164        wpaddatooltips
1165      );
1166      $(".wp-ada-compliance-accessibility-widget-tooltips").addClass(
1167        "wp-ada-compliance-accessibility-widget-tool-active"
1168      );
1169    }
1170
1171    // display link highlights
1172    var highlightlinks = wp_ada_compliance_getCookie(
1173      "wp-ada-accessibility-tools-highlightlinks"
1174    );
1175    if (highlightlinks === "1") {
1176      wp_ada_compliance_AddAdjustmentClass(1);
1177      $("html").addClass("wp-ada-highlightlinks");
1178      $(".wp-ada-compliance-accessibility-widget-highlightlinks").attr(
1179        "data-highlightlinks",
1180        highlightlinks
1181      );
1182
1183      // add opens in a new window if not already there
1184      $(".wp-ada-highlightlinks a").each(function (index) {
1185        var currenttitle = $(this).attr("title");
1186        if (
1187          $(this).attr("target") === "_blank" &&
1188          ($(this).attr("title") === undefined ||
1189            ($(this)
1190              .attr("title")
1191              .indexOf(wpadaVariables["new-window-test"]) === -1 &&
1192              $(this).attr("title").indexOf(wpadaVariables["new-tab-test"]) ===
1193                -1)) &&
1194          $(this).text().indexOf(wpadaVariables["new-window-test"]) === -1 &&
1195          $(this).text().indexOf(wpadaVariables["new-tab-test"]) === -1
1196        ) {
1197          if (currenttitle === undefined) currenttitle = "";
1198          $(this).attr("title", currenttitle + wpadaVariables["new-window"]);
1199        }
1200      });
1201
1202      $(".wp-ada-compliance-accessibility-widget-highlightlinks").addClass(
1203        "wp-ada-compliance-accessibility-widget-tool-active"
1204      );
1205    }
1206
1207    // display heading highlights
1208    var highlightheadings = wp_ada_compliance_getCookie(
1209      "wp-ada-accessibility-tools-highlightheadings"
1210    );
1211    if (highlightheadings === "1") {
1212      wp_ada_compliance_AddAdjustmentClass(1);
1213      $("html").addClass("wp-ada-highlightheadings");
1214      $(".wp-ada-compliance-accessibility-widget-highlightheadings").attr(
1215        "data-highlightheadings",
1216        highlightheadings
1217      );
1218      $(".wp-ada-compliance-accessibility-widget-highlightheadings").addClass(
1219        "wp-ada-compliance-accessibility-widget-tool-active"
1220      );
1221    }
1222
1223    // add focus outline for keyboardnav
1224    var keyboardnav = wp_ada_compliance_getCookie(
1225      "wp-ada-accessibility-tools-keyboardnav"
1226    );
1227    if (keyboardnav === "1") {
1228      wp_ada_compliance_AddAdjustmentClass(1);
1229      $("html").addClass("wp-ada-keyboardnav");
1230      $(".wp-ada-compliance-accessibility-widget-keyboardnav").attr(
1231        "data-keyboardnav",
1232        keyboardnav
1233      );
1234      $(".wp-ada-compliance-accessibility-widget-keyboardnav").addClass(
1235        "wp-ada-compliance-accessibility-widget-tool-active"
1236      );
1237    }
1238
1239    // stop animations
1240    var stopanimations = wp_ada_compliance_getCookie(
1241      "wp-ada-accessibility-tools-stopanimations"
1242    );
1243    if (stopanimations === "1") {
1244      wp_ada_compliance_AddAdjustmentClass(1);
1245      $("html").addClass("wp-ada-stopanimations");
1246
1247      setTimeout(() => {
1248        document.querySelectorAll("video").forEach((vid) => vid.pause());
1249        document.querySelectorAll("audio").forEach((aud) => aud.pause());
1250
1251        var wp_ada_stopAllYouTubeVideos = () => {
1252          var iframes = document.querySelectorAll("iframe");
1253          Array.prototype.forEach.call(iframes, (iframe) => {
1254            iframe.contentWindow.postMessage(
1255              JSON.stringify({ event: "command", func: "stopVideo" }),
1256              "*"
1257            );
1258          });
1259        };
1260        wp_ada_stopAllYouTubeVideos();
1261      }, 2000);
1262      $(".wp-ada-compliance-accessibility-widget-stopanimations").attr(
1263        "data-stopanimations",
1264        stopanimations
1265      );
1266      $(".wp-ada-compliance-accessibility-widget-stopanimations").addClass(
1267        "wp-ada-compliance-accessibility-widget-tool-active"
1268      );
1269    }
1270
1271    // set contrast
1272    var contrast = wp_ada_compliance_getCookie(
1273      "wp-ada-accessibility-tools-contrast"
1274    );
1275    if (contrast !== "") {
1276      wp_ada_compliance_AddAdjustmentClass(1);
1277      $("html").addClass("wp-ada-colorcontrast" + contrast);
1278      $(".wp-ada-compliance-accessibility-widget-contrast").attr(
1279        "data-contrast",
1280        contrast
1281      );
1282
1283      for (var x = 1; x <= contrast; x++) {
1284        $(
1285          ".wp-ada-compliance-accessibility-widget-contrast .wp-ada-progress"
1286        ).append('<span class="wp-ada-tools-progress-dot"></span>');
1287      }
1288      for (var y = x; y <= 4; y++) {
1289        $(
1290          ".wp-ada-compliance-accessibility-widget-contrast .wp-ada-progress"
1291        ).append('<span class="wp-ada-tools-progress2-dot"></span>');
1292      }
1293      $(".wp-ada-compliance-accessibility-widget-contrast").addClass(
1294        "wp-ada-compliance-accessibility-widget-tool-active"
1295      );
1296    }
1297  }
1298
1299  /*************************************************
1300supporting functions
1301**************************************************/
1302  // if enabled display tool tips
1303  $("body").append(
1304    '<div id="wp-ada-tooltips" class="wp-ada-compliance-accessibility-widget-adjustments"></div>'
1305  );
1306  $("img").on("mouseover keydown", function (event) {
1307    var wpaddatooltips = wp_ada_compliance_getCookie(
1308      "wp-ada-accessibility-tools-tooltips"
1309    );
1310    var alttext;
1311    if ($(this).attr("alt") !== "") {
1312      alttext = $(this).attr("alt");
1313    }
1314
1315    if (wpaddatooltips === "1" && alttext !== "" && alttext !== undefined) {
1316      var top = 50;
1317      var left = 200;
1318
1319      if (event.type === "mouseover") {
1320        top = event.pageY;
1321        left = event.pageX;
1322      }
1323
1324      $("#wp-ada-tooltips").delay(5).fadeIn(400);
1325      $("#wp-ada-tooltips").html(alttext);
1326      $("#wp-ada-tooltips").css({
1327        position: "absolute",
1328        top: top + "px",
1329        left: left + "px",
1330      });
1331
1332      // move back onto screen
1333      if ($(this).position().left < 1) {
1334        $("#wp-ada-tooltips").css("transform", "translateX(-100%)");
1335      }
1336      //if($(this).position().top < 1){
1337      //$('#wp-ada-tooltips').css('transform','translateY(-100%)');
1338      //}
1339    }
1340  });
1341  $("img").on("mouseout blur", function () {
1342    if (wpaddatooltips === "1") {
1343      $("#wp-ada-tooltips").hide();
1344    }
1345  });
1346  $("[aria-label]").on("mouseover keydown", function (event) {
1347    var wpaddatooltips = wp_ada_compliance_getCookie(
1348      "wp-ada-accessibility-tools-tooltips"
1349    );
1350
1351    var alttext;
1352    if (
1353      !$(this).hasClass("wp-ada-compliance-accessibility-widget-toolbar") &&
1354      !$(this).hasClass("wp-ada-compliance-toolbtn") &&
1355      !$(this).hasClass("wp-ada-compliance-accessibility-widget-content")
1356    ) {
1357      if ($(this).attr("aria-label") !== "") {
1358        alttext = $(this).attr("aria-label");
1359      }
1360    }
1361
1362    if (wpaddatooltips === "1" && alttext !== "" && alttext !== undefined) {
1363      var top = 50;
1364      var left = 200;
1365
1366      if (event.type === "mouseover") {
1367        top = event.pageY;
1368        left = event.pageX;
1369      }
1370
1371      $("#wp-ada-tooltips").delay(5).fadeIn(400);
1372      $("#wp-ada-tooltips").html(alttext);
1373      $("#wp-ada-tooltips").css({
1374        position: "absolute",
1375        top: top + "px",
1376        left: left + "px",
1377      });
1378
1379      // move back onto screen
1380      if ($(this).position().left < 1) {
1381        $("#wp-ada-tooltips").css("transform", "translateX(-100%)");
1382      }
1383      //if($(this).position().top < 1){
1384      //$('#wp-ada-tooltips').css('transform','translateY(-100%)');
1385      //}
1386    }
1387  });
1388  $("[aria-label]").on("mouseout blur", function () {
1389    if (wpaddatooltips === "1") {
1390      $("#wp-ada-tooltips").hide();
1391    }
1392  });
1393  // handle titles
1394  $("[title]").on("mouseover keydown", function (event) {
1395    var wpaddatooltips = wp_ada_compliance_getCookie(
1396      "wp-ada-accessibility-tools-tooltips"
1397    );
1398
1399    var alttext;
1400
1401    if ($(this).attr("title") !== "") {
1402      alttext = $(this).attr("title");
1403    }
1404
1405    if (wpaddatooltips === "1" && alttext !== "" && alttext !== undefined) {
1406      var top = 50;
1407      var left = 200;
1408
1409      // Store it in a temporary attribute
1410      $(this).attr("tmp_title", alttext);
1411      $(this).attr("title", "");
1412
1413      if (event.type === "mouseover") {
1414        top = event.pageY;
1415        left = event.pageX;
1416      }
1417
1418      $("#wp-ada-tooltips").delay(5).fadeIn(400);
1419      $("#wp-ada-tooltips").html(alttext);
1420      $("#wp-ada-tooltips").css({
1421        position: "absolute",
1422        top: top + "px",
1423        left: left + "px",
1424      });
1425      // move back onto screen
1426      if ($(this).position().left < 1) {
1427        $("#wp-ada-tooltips").css("transform", "translateX(-100%)");
1428      }
1429      //if($(this).position().top < 1){
1430      //$('#wp-ada-tooltips').css('transform','translateY(-100%)');
1431      //}
1432    }
1433  });
1434
1435  $("[title]").on("mouseout blur", function () {
1436    if (wpaddatooltips === "1") {
1437      if ($(this).attr("tmp_title") != "") {
1438        $(this).attr("title", $(this).attr("tmp_title"));
1439        $(this).removeAttr("tmp_title");
1440      }
1441      $("#wp-ada-tooltips").hide();
1442    }
1443  });
1444
1445  // get cookie
1446  function wp_ada_compliance_getCookie(cname) {
1447    var name = cname + "=";
1448    var ca = document.cookie.split(";");
1449    for (var i = 0; i < ca.length; i++) {
1450      var c = ca[i];
1451      while (c.charAt(0) === " ") {
1452        c = c.substring(1);
1453      }
1454      if (c.indexOf(name) === 0) {
1455        return c.substring(name.length, c.length);
1456      }
1457    }
1458    return "";
1459  }
1460
1461  // display toolbar tooltips
1462  $("body").append(
1463    '<div id="wp-ada-tool-tooltips" class="wp-ada-compliance-accessibility-widget-adjustments"></div>'
1464  );
1465  $(".wp-ada-compliance-toolbtn").on("mouseover keydown", function (event) {
1466    var alttext = $(this).attr("aria-label");
1467    var top = 50;
1468    var left = 200;
1469
1470    if (alttext !== "" && alttext !== undefined && alttext !== "close") {
1471      if (event.type === "mouseover") {
1472        top = event.pageY - 45;
1473        left = event.pageX + 20;
1474      }
1475      if (
1476        !/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
1477          navigator.userAgent
1478        )
1479      ) {
1480        // some code..
1481        $("#wp-ada-tool-tooltips").delay(10).fadeIn(400);
1482        $("#wp-ada-tool-tooltips").html(alttext);
1483        $("#wp-ada-tool-tooltips").css({
1484          position: "absolute",
1485          top: top + "px",
1486          left: left + "px",
1487        });
1488        // $('#wp-ada-tool-tooltips').css('transform','translateX(-80%)');
1489      }
1490    }
1491  });
1492  $(this).on("mouseout blur", function () {
1493    $("#wp-ada-tool-tooltips").hide();
1494  });
1495
1496  // make widget draggable
1497  /*
1498$.fn.draggable = function(){
1499    var $this = this,
1500    ns = 'draggable_'+(Math.random()+'').replace('.',''),
1501    mm = 'mousemove.'+ns,
1502    mu = 'mouseup.'+ns,
1503    $w = $(window),
1504    isFixed = ($this.css('position') === 'fixed'),
1505    adjX = 0, adjY = 0;
1506
1507    $this.mousedown(function(ev){
1508        var pos = $this.offset();
1509        if (isFixed) {
1510            adjX = $w.scrollLeft(); adjY = $w.scrollTop();
1511        }
1512        var ox = (ev.pageX - pos.left), oy = (ev.pageY - pos.top);
1513        $this.data(ns,{ x : ox, y: oy });
1514        $w.on(mm, function(ev){
1515            ev.preventDefault();
1516            ev.stopPropagation();
1517            if (isFixed) {
1518                adjX = $w.scrollLeft(); adjY = $w.scrollTop();
1519            }
1520            var offset = $this.data(ns); 
1521           $this.css('bottom',''); 
1522            //var bottom = ev.pageY - adjY - offset.y + $this.outerHeight();
1523            $this.css({left: ev.pageX - adjX - offset.x, top: ev.pageY - adjY - offset.y});
1524            $this.css('height', $this.outerHeight()); 
1525           
1526        });
1527        $w.on(mu, function(){
1528            $w.off(mm + ' ' + mu).removeData(ns);
1529        });
1530    });
1531
1532    return this;
1533}; */
1534
1535  // trap focus
1536  function wp_ada_compliance_widget_trapFocus(element) {
1537    var focusableEls = element.querySelectorAll(
1538        'a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])'
1539      ),
1540      firstFocusableEl = focusableEls[0];
1541    lastFocusableEl = focusableEls[focusableEls.length - 1];
1542    KEYCODE_TAB = 9;
1543
1544    element.addEventListener("keydown", function (e) {
1545      var isTabPressed = e.key === "Tab" || e.keyCode === KEYCODE_TAB;
1546
1547      if (!isTabPressed) {
1548        return;
1549      }
1550
1551      if (e.shiftKey) {
1552        /* shift + tab */ if (document.activeElement === firstFocusableEl) {
1553          lastFocusableEl.focus();
1554          e.preventDefault();
1555        }
1556      } /* tab */ else {
1557        if (document.activeElement === lastFocusableEl) {
1558          firstFocusableEl.focus();
1559          e.preventDefault();
1560        }
1561      }
1562    });
1563  }
1564}); // end jquery ready

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.