diff -u b/core/includes/form.inc b/core/includes/form.inc --- b/core/includes/form.inc +++ b/core/includes/form.inc @@ -3192,13 +3192,13 @@ if (isset($element['#title']) || isset($element['#description'])) { // To assist screen readers, use a fieldset wrapper when possible, but - // fieldset legends are only compatible with the 'before' option for - // #title_display. - if (isset($element['#title_display']) && ($element['#title_display'] != 'before')) { - $wrapper = 'form_element'; + // fieldset legends are only compatible with the 'before' and 'invisible' + // options for #title_display. + if (!isset($element['#title_display']) || in_array($element['#title_display'], array('before', 'invisible'))) { + $wrapper = 'fieldset'; } else { - $wrapper = 'fieldset'; + $wrapper = 'form_element'; } $element['#theme_wrappers'][] = $wrapper; }