Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Browser Support
- Themes must be cross-browser tested and look as similar as possible in standards compliant browsers.
- Non-standards compliant browsers down to IE7 are still supported (for now) and therefore must "function." This means that layouts must not break, and obvious differences/bugs should be worked out. It also means, for example, that using border-radius to create rounded corners is perfectly acceptable and browsers that don't support this (lte IE8) are fine without them.
Drupal Coding Standards
- Coding Standards must be adhered to.
- CSS Coding standards, must be adhered to.
- Template files should not exist in the theme unless they have been changed.
- Core stylesheets cannot be removed entirely by the theme. Instead selective overriding of CSS rules should be used in the theme's stylesheets.
- Template files should not remove critical RDFa nor Accessibility functionality.
- Default regions should be used where possible (as opposed to creating new similar ones with different names)
Theme Features
- A print stylesheet must be included
- RTL styles must be added
- Color module must be supported
- Custom theme settings are not allowed (per webchick in D7)
- Overlay must be supported
- Primary and secondary links need to be supported
- At least one additional region for navigation and content-related blocks
Web Standards, Validation & Accessibility
- Markup must be semantic and standards compliant
- Must pass XHTML 1.0 Strict validation
- CSS must validate under profile level 3 (CSS3), with the exception of browser extensions
- Compliance with WCAG 2.0 level AA should be the target, including:
Note: This does not apply to issues caused by Drupal core.- :focus/outline styles are required
- Skip navigation needs to stay in place
- Font sizes need to be relative, i.e. ems, %
- Contrast and color need to pass WCAG 2
- Form labels must remain as they are (don't remove them, hide them (think search label) with .element-invisible class)
- Proper headings, good heading structure, use H2 for node teaser and block titles, h3 for comments and not h5 or whatever.
This core issue has the discussion leading up to this page: http://drupal.org/node/737136 you can add to the discussion there.