Commit c94b0040 authored by Neil Blair's avatar Neil Blair Committed by Sven Berg Ryen
Browse files

Issue #3298345 by svenryen, Glugmeister, mzouari: Withdraw banner...

Issue #3298345 by svenryen, Glugmeister, mzouari: Withdraw banner links/buttons are keyboard focusable when banner is hidden from view
parent b6a0485e
Loading
Loading
Loading
Loading
+37 −9
Changes for js/eu_cookie_compliance.js: 37 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -295,6 +295,7 @@
    }
    $('body').removeClass('eu-cookie-compliance-popup-open');
    $('.eu-cookie-withdraw-button').attr('tabindex', -1);
    $banner.attr('aria-hidden', true);
  };

  Drupal.eu_cookie_compliance.getBannerTopPosition = function (height) {
@@ -390,11 +391,17 @@
    }
    if (bannerIsShowing) {
      $('body').removeClass('eu-cookie-compliance-popup-open');
      $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button, .eu-cookie-withdraw-button').attr('tabindex', -1);
      $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
          .attr('aria-hidden', true)
          .find('a, button, input')
          .attr('tabindex', -1);
    }
    else {
      $('body').addClass('eu-cookie-compliance-popup-open');
      $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button, .eu-cookie-withdraw-button').attr('tabindex', 0);
      $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
          .attr('aria-hidden', false)
          .find('a, button, input')
          .attr('tabindex', 0);
    }
  };

@@ -510,11 +517,17 @@
    }
    if (closed !== true) {
      $('body').addClass('eu-cookie-compliance-popup-open');
      $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button').attr('tabindex', 0);
      $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
          .attr('aria-hidden', false)
          .find('a, button, input')
          .attr('tabindex', 0);
    }
    else {
      $('body').removeClass('eu-cookie-compliance-popup-open');
      $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button').attr('tabindex', -1);
      $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
          .attr('aria-hidden', true)
          .find('a, button, input')
          .attr('tabindex', -1);
    }
  };

@@ -723,11 +736,17 @@
    }
    if (drupalSettings.eu_cookie_compliance.settings_tab_enabled) {
      $('body').addClass('eu-cookie-compliance-popup-open');
      $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button').attr('tabindex', 0);
      $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
          .attr('aria-hidden', false)
          .find('a, button, input')
          .attr('tabindex', 0);
    }
    else {
      $('body').removeClass('eu-cookie-compliance-popup-open');
      $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button').attr('tabindex', -1);
      $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
          .attr('aria-hidden', true)
          .find('a, button, input')
          .attr('tabindex', -1);
    }
  };

@@ -751,7 +770,10 @@
        $('#sliding-popup').trigger('eu_cookie_compliance_popup_close').remove();
      }
      $('body').removeClass('eu-cookie-compliance-popup-open');
      $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button').attr('tabindex', -1);
      $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
          .attr('aria-hidden', true)
          .find('a, button, input')
          .attr('tabindex', -1);
    }
    else {
      if (drupalSettings.eu_cookie_compliance.popup_link_new_window) {
@@ -882,7 +904,10 @@
            $('body').css({ 'margin-top': '0px' });
          }
          $('body').removeClass('eu-cookie-compliance-popup-open');
          $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button').attr('tabindex', -1);
          $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
              .attr('aria-hidden', true)
              .find('a, button, input')
              .attr('tabindex', -1);
        }
        if (drupalSettings.eu_cookie_compliance.withdraw_enabled && !drupalSettings.eu_cookie_compliance.withdraw_button_on_info_popup) {
          Drupal.eu_cookie_compliance.showWithdrawBanner(value);
@@ -915,7 +940,10 @@
            $('.sliding-popup-bottom').not('.eu-cookie-withdraw-wrapper').trigger('eu_cookie_compliance_popup_close').remove();
          }
          $('body').removeClass('eu-cookie-compliance-popup-open');
          $('.eu-cookie-compliance-agree-button, .eu-cookie-compliance-more-button, .eu-cookie-compliance-secondary-button, .eu-cookie-compliance-save-preferences-button, .eu-cookie-compliance-category-checkbox, .eu-cookie-compliance-default-button, .eu-cookie-withdraw-button').attr('tabindex', -1);
          $('.eu-cookie-compliance-banner, .eu-cookie-withdraw-banner')
              .attr('aria-hidden', true)
              .find('a, button, input')
              .attr('tabindex', -1);
        }
        if (drupalSettings.eu_cookie_compliance.withdraw_enabled && !drupalSettings.eu_cookie_compliance.withdraw_button_on_info_popup) {
          Drupal.eu_cookie_compliance.showWithdrawBanner(value);