diff --git a/core/includes/form.inc b/core/includes/form.inc index 002de6f5c8de9b22ee88d217503f9870b14afdb9..82e1f3db74163bbb6389ee8c9bd3c6b3d609883f 100644 --- a/core/includes/form.inc +++ b/core/includes/form.inc @@ -2795,6 +2795,11 @@ function theme_fieldset($variables) { element_set_attributes($element, array('id')); _form_set_attributes($element, array('form-wrapper')); + if (!empty($element['#description'])) { + $description_id = $element['#attributes']['id'] . '--description'; + $element['#attributes']['aria-describedby'] = $description_id; + } + $output = ''; if (!empty($element['#title'])) { // Always wrap fieldset legends in a SPAN for CSS positioning. @@ -2802,7 +2807,9 @@ function theme_fieldset($variables) { } $output .= '
'; if (!empty($element['#description'])) { - $output .= '
' . $element['#description'] . '
'; + $attributes = array('class' => 'fieldset-description', 'id' => $description_id); + $output .= '' . $element['#description'] . '
'; + } $output .= $element['#children']; if (isset($element['#value'])) {