30 lines
689 B
JavaScript
30 lines
689 B
JavaScript
/**
|
|
* @file
|
|
* Add aria attribute handling for details and summary elements.
|
|
*/
|
|
|
|
(function ($, Drupal) {
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Handles `aria-expanded` and `aria-pressed` attributes on details elements.
|
|
*
|
|
* @type {Drupal~behavior}
|
|
*/
|
|
Drupal.behaviors.detailsAria = {
|
|
attach: function () {
|
|
$('body').once('detailsAria').on('click.detailsAria', 'summary', function (event) {
|
|
var $summary = $(event.currentTarget);
|
|
var open = $(event.currentTarget.parentNode).attr('open') === 'open' ? 'false' : 'true';
|
|
|
|
$summary.attr({
|
|
'aria-expanded': open,
|
|
'aria-pressed': open
|
|
});
|
|
});
|
|
}
|
|
};
|
|
|
|
})(jQuery, Drupal);
|