On 23/1/09 08:10, Mynthon wrote:
On my companys page there are no articles and sections. There are
products and product lists. Isnt it wrong to use

<article>
   <section>
     <h1>product1</h1>
     some data
   </section>
   <section>
     <h1>product2</h1>
     some data
   </section>
   <section>
     <h1>product3</h1>
     some data
   </section>
</article>

while it wil be misleading screen readers? For users without
disabilities there is no problem but for eg. blind peple? Calling
product list an article is... hmmm... wrong.

Why?

You're not marking the product list as an "article". That's just the name of the element. You're marking it up as "a section of a page that consists of a composition that forms an independent part of a document, page, or site. This could be a forum post, a magazine or newspaper article, a Web log entry, a user-submitted comment, or any other independent item of content."

http://www.whatwg.org/specs/web-apps/current-work/#dfnReturnLink-1

Similarly, when you mark something up as an "address", you're not marking any old snail mail address, but rather any sort of contact information (e.g. telephone, email) for the author of that part of the document:

http://www.whatwg.org/specs/web-apps/current-work/#the-address-element

Conclusion: The names of HTML elements are not a perfect guide to what they represent. If it is correct to say your product list is "a section of a page that consists of a composition that forms an independent part of a document, page, or site", then marking it up with an "article" element will not mislead conforming user agents, screen readers or otherwise.

However, whether it's the best element to use in your case is debatable. A case might be made for using OL, depending on what sort of product list this is. For example, if it's a search results page for "grabowski", I'd use an OL:

<nav>
<article class="search-results">
<h1>Search Results</h1>
<p>Results 1-5 of 5 for <kbd>grabowski</kbd>.</p>
<ol>
<li class="product>
<article>
<h1>New book</h1>
<p>by Chris <mark>Grabowski</mark></p>
<p>old price:<span>5usd</span></p>
<p><strong>Now only:</strong>  <span class="price">3.99usd</span></p>
<p>This is description of product …</p>
</article>
</li>
</ol>
</article>

(Compare the OL elements in the search result pages of Google and Yahoo!, with which screen reader users are familiar.)

I'd also use an OL if it's a sorted list (e.g. sorted by price).

On the other hand, if the order is editorial, I'd probably just use an "article" with nested "article" elements or "section" elements.

HTML5 provides extension mechanisms that can be used to annotate HTML to make product data extractable. The microformats community is working on markup for product lists and products:

http://microformats.org/wiki/hlisting-proposal

http://microformats.org/wiki/hproduct

hListing is already in use on Kelkoo:

http://developer.yahoo.net/blog/archives/2008/03/kelkoo_goes_mic.html

Will be very cool for me and many other.

If you're proposing new features, you need to begin with the end-user problems you're trying to solve, not specific HTML element proposals:

http://wiki.whatwg.org/wiki/FAQ#Is_there_a_process_for_adding_new_features_to_the_spec.3F

It's not clear to me whether the problem you're hinting at is that the name "article" is insufficiently generic for what it represents or whether you're attempting to solve additional problems (data extraction? special navigation?).

Naming elements tends to be a case of choosing the least worst option, unfortunately.

--
Benjamin Hawkes-Lewis

Reply via email to