diff --git a/core/includes/form.inc b/core/includes/form.inc index b23d708c8fdfc45c8c634dd4a8599f437aa18349..0ef70f8661ab7d022891fc9f5f2e14f7f3956c53 100644 --- a/core/includes/form.inc +++ b/core/includes/form.inc @@ -2869,7 +2869,15 @@ function theme_details($variables) { $output = '<details' . new Attribute($element['#attributes']) . '>'; if (!empty($element['#title'])) { - $output .= '<summary>' . $element['#title'] . '</summary>'; + $summary_attributes = new Attribute(array( + 'role' => 'button', + )); + if (!empty($element['#attributes']['id'])) { + $summary_attributes['aria-controls'] = $element['#attributes']['id']; + } + $summary_attributes['aria-expanded'] = empty($element['#attributes']['open']) ? FALSE : TRUE; + $summary_attributes['aria-pressed'] = $summary_attributes['aria-expanded']; + $output .= '<summary' . $summary_attributes . '>' . $element['#title'] . '</summary>'; } $output .= '<div class="details-wrapper">'; if (!empty($element['#description'])) {