diff -U7 b/core/modules/image/image.module b/core/modules/image/image.module --- b/core/modules/image/image.module +++ b/core/modules/image/image.module @@ -146,14 +146,26 @@ /** * Implements hook_theme(). */ function image_theme() { return array( // Theme functions in image.module. 'image_style' => array( + // HTML 4 and XHTML 1.0 always require an alt attribute. The HTML 5 draft + // allows the alt attribute to be omitted in some cases. Therefore, + // default the alt attribute to an empty string, but allow code calling + // theme('image_style') to pass explicit NULL for it to be omitted. + // Usually, neither omission nor an empty string satisfies accessibility + // requirements, so it is strongly encouraged for code calling + // theme('image_style') to pass a meaningful value for the alt variable. + // - http://www.w3.org/TR/REC-html40/struct/objects.html#h-13.8 + // - http://www.w3.org/TR/xhtml1/dtds.html + // - http://dev.w3.org/html5/spec/Overview.html#alt + // The title attribute is optional in all cases, so it is omitted by + // default. 'variables' => array( 'style_name' => NULL, 'uri' => NULL, 'width' => NULL, 'height' => NULL, 'alt' => '', 'title' => NULL, @@ -358,15 +370,24 @@ * - uri: The path of the image file relative to the Drupal files directory. * This function does not work with images outside the files directory nor * with remotely hosted images. This should be in a format such as * 'images/image.jpg', or using a stream wrapper such as * 'public://images/image.jpg'. * - width: The width of the source image (if known). * - height: The height of the source image (if known). - * - alt: The alternative text for text-based browsers. + * - alt: The alternative text for text-based browsers. HTML 4 and XHTML 1.0 + * always require an alt attribute. The HTML 5 draft allows the alt + * attribute to be omitted in some cases. Therefore, this variable defaults + * to an empty string, but can be set to NULL for the attribute to be + * omitted. Usually, neither omission nor an empty string satisfies + * accessibility requirements, so it is strongly encouraged for code calling + * theme('image_style') to pass a meaningful value for this variable. + * - http://www.w3.org/TR/REC-html40/struct/objects.html#h-13.8 + * - http://www.w3.org/TR/xhtml1/dtds.html + * - http://dev.w3.org/html5/spec/Overview.html#alt * - title: The title text is displayed when the image is hovered in some * popular browsers. * - attributes: Associative array of attributes to be placed in the img tag. * * @ingroup themeable */ function theme_image_style($variables) {