annotate core/misc/details-aria.es6.js @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children a9cd425dd02b
rev   line source
Chris@0 1 /**
Chris@0 2 * @file
Chris@0 3 * Add aria attribute handling for details and summary elements.
Chris@0 4 */
Chris@0 5
Chris@0 6 (function ($, Drupal) {
Chris@0 7 /**
Chris@0 8 * Handles `aria-expanded` and `aria-pressed` attributes on details elements.
Chris@0 9 *
Chris@0 10 * @type {Drupal~behavior}
Chris@0 11 */
Chris@0 12 Drupal.behaviors.detailsAria = {
Chris@0 13 attach() {
Chris@0 14 $('body').once('detailsAria').on('click.detailsAria', 'summary', (event) => {
Chris@0 15 const $summary = $(event.currentTarget);
Chris@0 16 const open = $(event.currentTarget.parentNode).attr('open') === 'open' ? 'false' : 'true';
Chris@0 17
Chris@0 18 $summary.attr({
Chris@0 19 'aria-expanded': open,
Chris@0 20 'aria-pressed': open,
Chris@0 21 });
Chris@0 22 });
Chris@0 23 },
Chris@0 24 };
Chris@0 25 }(jQuery, Drupal));