Projet

Général

Profil

0001-accessibility-support-hiding-menus-through-escape-ke.patch

A. Berriot, 30 août 2022 14:41

Télécharger (2,37 ko)

Voir les différences:

Subject: [PATCH] accessibility: support hiding menus through escape keys
 (#40930)

 combo/public/static/js/combo.public.js | 16 ++++++++++++++++
 combo/public/templates/combo/menu.html |  4 ++--
 2 files changed, 18 insertions(+), 2 deletions(-)
combo/public/static/js/combo.public.js
422 422
      paginate_cards($(elem));
423 423
    }
424 424
  });
425
  // accessibililty enhancements:
426
  // support for hiding some elements (such as submenus)
427
  // when the escape key is pressed
428
  $(document).keydown(function(e) {
429
    if (e.key === "Escape") { 
430
      $(".hide-on-escape:visible").hide()
431
    }
432
  });
433
  // and ensure the elements can be viewed again
434
  // on subsequent hover/focus
435
  function reset_hidden_elements(event) {
436
    var root_element = $(event.target).closest('.contains-hidden-elements')
437
    $(root_element).find('.hide-on-escape').css({display: ''})
438
  }
439
  $('.contains-hidden-elements').mouseenter(reset_hidden_elements, null)
440
  $('.contains-hidden-elements').focusin(reset_hidden_elements)
425 441
});
combo/public/templates/combo/menu.html
1 1
{% load i18n %}
2 2
{% if menuitems %}
3
<ul class="{{ is_submenu|yesno:"submenu,menu" }}">
3
<ul class="{{ is_submenu|yesno:"submenu,menu" }} {% if is_submenu %}hide-on-escape{% endif %}">
4 4
{% spaceless %}
5 5
{% for menuitem in menuitems %}
6
<li data-menu-page-id="{{ menuitem.page.id }}" class="{{ is_submenu|yesno:"submenu,menu" }}--item menu-{{ menuitem.page.slug }} {% if menuitem.selected %}selected{% endif %}">
6
<li data-menu-page-id="{{ menuitem.page.id }}" class="{% if depth > 1 %}contains-hidden-elements{% endif %} {{ is_submenu|yesno:"submenu,menu" }}--item menu-{{ menuitem.page.slug }} {% if menuitem.selected %}selected{% endif %}">
7 7
  <a
8 8
    {% if menuitem.selected %}title="{{ menuitem.page.title }} - {% trans "active page" %}"{% endif %}
9 9
    href="{% page_absolute_url menuitem.page %}"
10
-