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.