Re: ID 'FOO' already defined

On Thu, 20 Mar 2003, Dan Smith wrote:

> My page failed to validate because of the following error:
> 
> “ID ‘FOO’ already defined” 
[...] 
> The repeated IDs are used to match column headers in the top row of my
> table with id'd rows further down, ie:
> 
>   <table summary="An accessible table.">
>     <tr> 
>       <td headers="h1">Column 1 heading</td>
>       <td headers="h2">Column 2 heading</td>
>       <td headers="h3">Column 3 heading</td>
>     </tr>
>     <tr> 
>       <td id="h1">Column 1 Content</td>
>       <td id="h2">Column 2 Content</td>
>       <td id="h3">Column 3 Content</td>
>     </tr>
>     <tr> 
>       <td id="h1">Column 1 Content</td>
>       <td id="h2">Column 2 Content</td>
>       <td id="h3">Column 3 Content</td>
>     </tr>
> </table>

You have that backwards.  The header cells should have "id" attributes
while the non-header cells have "headers" attributes:

  <table summary="An accessible table.">
    <tr> 
      <td id="h1">Column 1 heading</td>
      <td id="h2">Column 2 heading</td>
      <td id="h3">Column 3 heading</td>
    </tr>
    <tr> 
      <td headers="h1">Column 1 Content</td>
      <td headers="h2">Column 2 Content</td>
      <td headers="h3">Column 3 Content</td>
    </tr>
    <tr> 
      <td headers="h1">Column 1 Content</td>
      <td headers="h2">Column 2 Content</td>
      <td headers="h3">Column 3 Content</td>
    </tr>
  </table>

Using the "scope" attribute instead of "id" and "headers" would be simpler 
in this case though:

  <table summary="An accessible table.">
    <tr> 
      <td scope="col">Column 1 heading</td>
      <td scope="col">Column 2 heading</td>
      <td scope="col">Column 3 heading</td>
    </tr>
    <tr> 
      <td>Column 1 Content</td>
      <td>Column 2 Content</td>
      <td>Column 3 Content</td>
    </tr>
    <tr> 
      <td>Column 1 Content</td>
      <td>Column 2 Content</td>
      <td>Column 3 Content</td>
    </tr>
  </table>

I would also use "th" instead of "td" for the headings.

-- 
Liam Quinn

Received on Thursday, 20 March 2003 01:41:58 UTC