A test at http://d-theme.com/scratch shows this theme is XHTML 1.0 Strict and WCAG at level A but then fails level AA due to the following heading is not nested properly. Perhaps the h1 could be bumped up in the content order before the headings in the left sidebar.
<h3>User login</h3>

Comments

rolfmeijer’s picture

Assigned: Unassigned » rolfmeijer

I’m not sure if I’m willing to fix this. First of all I think this is because of the silly way (IMHO, that is obviously) HTML is structuring it’s headings. H1 to H6 is silly. XHTML 2.0 solves this by making one type of heading that is placed inside sections, so the nesting of the sections defines the importance of the heading.
Second, and that is a more practical approach, this theme is intended to be used as a groundwork for other themes, so my aim is that it changes dramatically for every theme that is based on it and the responsibility to make that theme comply the various standards is up to the theme developer.

On the other hand, if this simple basic theme doesn’t even comply than how can you expect themes based on it to do so. So I will have a look, also because I like diving into this stuff and maybe I find a very interesting solution.

Thanks for posting this issue and bringing it to my attention.

rolfmeijer’s picture

Status: Active » Needs review

With Commit #218928 this should be fixed

rolfmeijer’s picture

Status: Needs review » Active

Hmmm, with version 1.2 this is still not good. I need to find a different solutions or I might fall back on what I said in comment #1.

peterx’s picture

Perhaps remove heading 3 from blocks and use a class. http://d-theme.com/scratch has a test of this approach and the page validates to WCAG AAA.

rolfmeijer’s picture

I’ll appreciate your input very much, but I doubt if this is a proper solution. I can put everything inside a div and give it a class, which is of course not beneficial to usability. This just demonstrates what I meant in comment #1.

I think the only way to do this is to have the content section above the (navigational) sidebars in the HTML. Than the only way to have the “left sidebar” to the left of the content, is to use positioning. Which, for other reasons, is not always possible or practical.

By the way, there is also an issue with the h1. I have seen some themes with the logo inside the h1. I personally don’t think that is the right content for a h1. Because it is something general about the site not about a specific page. Inside the h1 should be the header that is the main header of that particular page. So I changed that in my theme to be the $title. But unfortunately that title is not always present. In that case the order of the headings is broken too, as it does not start with a h1. Maybe I’m missing some point here, I’m not that experienced yet with (theming) Drupal.

Here’s a nice piece about headings and their hierarchy: http://www.456bereastreet.com/archive/200901/headings_heading_hierarchy_...

peterx’s picture

Version: 7.x-3.0 » 6.x-1.0

An interesting discussion in your link. There is a long complicated discussion in http://drupal.org/node/364219 that includes heading levels and an attempt to make Garland accessible. I prefer to make the site the h1 for the home page because the home page should introduce the site. On all other pages, the page title should be the h1 because it is the subject of the page.

If the page title is h1 and both the node and block titles are h2, they should work no matter where they are placed. You could then use the block class, .block h2, to reduce the visual impact of block headings in sidebars. The problem would be the first node on the page because it provides the page title. Some modules also play around with the nodes on the page. I might experiment some more on one of my test themes.

rolfmeijer’s picture

Version: 6.x-1.0 » 7.x-3.0-beta1
rolfmeijer’s picture

Version: 7.x-3.0-beta1 » 7.x-3.0