Accessibility simplification for highly-dimensional table

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Harlan Messinger

    Accessibility simplification for highly-dimensional table

    When a table has multiple layers of column and/or row headings, as we know,
    there are a couple of options for making the table accessible. Using a
    *scope* attribute is fine as long as the number of column levels or row
    levels doesn't exceed two, since you can only specify "col" and "colgroup"
    as scope values in the former case, and "row" or "rowgroup" in the latter.

    Then there's the use of *id*, *headers*, and *axis*. For most purposes, I
    wonder whether it's over the top. It's highly involved, and in particular
    the axis attribute seems to be going overboard unless the kind of tricks
    they would permit a user agent to perform computationally are something you
    would have wanted to enable even without accessibility considerations. It's
    also awkward if it isn't a question of a simple set of permutations (as at:



    )

    Anyway, please take a look at:



    I've used <th> for the row headings (states) and for the lowest level of
    column headings (the grades). (If this were a real page, of course, I'd use
    styles to set a uniform appearance for all three rows of column headings.)
    I've set *abbr* and *title* attributes for those column headings thus:

    <th abbr="1998 reading grade 4" title="1998 reading grade 4">Grade 4</td>
    <th abbr="1998 writing grade 8" title="1998 writing grade 8">Grade 8</td>
    <th abbr="1998 reading grade 4" title="1998 reading grade 4">Grade 4</td>
    <th abbr="1998 writing grade 8" title="1998 writing grade 8">Grade 8</td>
    <th abbr="2000 reading grade 4" title="2000 reading grade 4">Grade 4</td>
    <th abbr="2000 writing grade 8" title="2000 writing grade 8">Grade 8</td>
    <th abbr="2000 reading grade 4" title="2000 reading grade 4">Grade 4</td>
    <th abbr="2000 writing grade 8" title="2000 writing grade 8">Grade 8</td>

    Does this accomplish the basic purpose? Is it satisfactory? Should I use
    only *abbr* or only *title*?

    --
    Harlan Messinger
    Remove the first dot from my e-mail address.
    Veuillez ôter le premier point de mon adresse de courriel.

  • Chris Morris

    #2
    Re: Accessibility simplification for highly-dimensional table

    "Harlan Messinger" <h.messinger@co mcast.net> writes:[color=blue]
    > Then there's the use of *id*, *headers*, and *axis*. For most purposes, I
    > wonder whether it's over the top. It's highly involved, and in particular[/color]

    id/headers is definitely worth doing, since it's the most
    widely-supported form of table header/cell assignment markup - I can't
    find any browsers that do anything useful with scope, though if anyone
    knows of one I'll add it to my collection...
    [color=blue]
    > the axis attribute seems to be going overboard unless the kind of tricks[/color]

    Agreed.
    [color=blue]
    > http://mywebpages.comcast.net/hmessi...dim-table.html
    >
    > I've used <th> for the row headings (states) and for the lowest level of
    > column headings (the grades). (If this were a real page, of course, I'd use
    > styles to set a uniform appearance for all three rows of column headings.)
    > I've set *abbr* and *title* attributes for those column headings thus:[/color]
    [color=blue]
    > <th abbr="1998 reading grade 4" title="1998 reading grade 4">Grade 4</td>[/color]

    Seems a bit odd to have the ABBReviation longer than the cell content,
    (and the abbreviations don't match the cells they're headers for).
    [color=blue]
    > Does this accomplish the basic purpose? Is it satisfactory? Should I use
    > only *abbr* or only *title*?[/color]

    I think the best way to mark this up would be



    (Though you could put title="Alabama 1998 reading grade 4" on the
    <td>s as appropriate as well, I'm not sure if there's many situations
    it would be useful in, but it's not going to harm anything)

    (Yes, putting the headers attributes in is fiddly, but with the amount
    of data involved if all 50 states were included, it really should be
    database (whether SQL or flat-file) driven anyway, in which case your
    server-side script and/or HTML preprocessor can take the majority of
    the work out of writing it.

    A few more examples at


    --
    Chris

    Comment

    • Harlan Messinger

      #3
      Re: Accessibility simplification for highly-dimensional table


      "Chris Morris" <c.i.morris@dur ham.ac.uk> wrote in message
      news:877jzwjgom .fsf@dinopsis.d ur.ac.uk...[color=blue]
      > "Harlan Messinger" <h.messinger@co mcast.net> writes:[color=green]
      > > Then there's the use of *id*, *headers*, and *axis*. For most purposes,[/color][/color]
      I[color=blue][color=green]
      > > wonder whether it's over the top. It's highly involved, and in[/color][/color]
      particular[color=blue]
      >
      > id/headers is definitely worth doing, since it's the most
      > widely-supported form of table header/cell assignment markup - I can't
      > find any browsers that do anything useful with scope, though if anyone
      > knows of one I'll add it to my collection...
      >[color=green]
      > > the axis attribute seems to be going overboard unless the kind of tricks[/color]
      >
      > Agreed.
      >[color=green]
      > > http://mywebpages.comcast.net/hmessi...dim-table.html
      > >
      > > I've used <th> for the row headings (states) and for the lowest level of
      > > column headings (the grades). (If this were a real page, of course, I'd[/color][/color]
      use[color=blue][color=green]
      > > styles to set a uniform appearance for all three rows of column[/color][/color]
      headings.)[color=blue][color=green]
      > > I've set *abbr* and *title* attributes for those column headings thus:[/color]
      >[color=green]
      > > <th abbr="1998 reading grade 4" title="1998 reading grade 4">Grade[/color][/color]
      4</td>[color=blue]
      >
      > Seems a bit odd to have the ABBReviation longer than the cell content,
      > (and the abbreviations don't match the cells they're headers for).[/color]

      Oh, thanks. I threw it together in a hurry. :-)
      [color=blue]
      >[color=green]
      > > Does this accomplish the basic purpose? Is it satisfactory? Should I use
      > > only *abbr* or only *title*?[/color]
      >
      > I think the best way to mark this up would be
      >
      > http://www.dur.ac.uk/c.i.morris/multitable.html
      >
      > (Though you could put title="Alabama 1998 reading grade 4" on the
      > <td>s as appropriate as well, I'm not sure if there's many situations
      > it would be useful in, but it's not going to harm anything)
      >
      > (Yes, putting the headers attributes in is fiddly, but with the amount
      > of data involved if all 50 states were included, it really should be
      > database (whether SQL or flat-file) driven anyway, in which case your
      > server-side script and/or HTML preprocessor can take the majority of
      > the work out of writing it.
      >
      > A few more examples at
      >[/color]
      http://www.dur.ac.uk/its/services/we...ority1/tables/[color=blue]
      >
      > --
      > Chris[/color]

      Comment

      • Harlan Messinger

        #4
        Re: Accessibility simplification for highly-dimensional table


        [Sorry, hit Send too quickly.]

        "Chris Morris" <c.i.morris@dur ham.ac.uk> wrote in message
        news:877jzwjgom .fsf@dinopsis.d ur.ac.uk...[color=blue]
        >
        > (Yes, putting the headers attributes in is fiddly, but with the amount
        > of data involved if all 50 states were included, it really should be
        > database (whether SQL or flat-file) driven anyway, in which case your
        > server-side script and/or HTML preprocessor can take the majority of
        > the work out of writing it.
        >[/color]

        Certainly, if it were database-generated. Not always an option!
        [color=blue]
        > A few more examples at
        >[/color]


        Thanks for this.

        Comment

        • Lauri Raittila

          #5
          Re: Accessibility simplification for highly-dimensional table

          In article Harlan Messinger wrote:
          [color=blue]
          > "Chris Morris" <c.i.morris@dur ham.ac.uk> wrote in message
          > news:877jzwjgom .fsf@dinopsis.d ur.ac.uk...[color=green]
          > >
          > > (Yes, putting the headers attributes in is fiddly, but with the amount
          > > of data involved if all 50 states were included, it really should be
          > > database (whether SQL or flat-file) driven anyway, in which case your
          > > server-side script and/or HTML preprocessor can take the majority of
          > > the work out of writing it.[/color]
          >
          > Certainly, if it were database-generated. Not always an option![/color]

          Nobody forbids to generate table using script, even if data would not be
          stored in serious database. Anyway, you usually have data somewhere when
          you start marking up a table. And when you don't, it makes usually sence
          to write it down first, and then making it a table.

          I¹ parse my Transcript of records from email like this

          (pretty much worst possible format.) to this table:

          using this perl:


          I think I actually saved time² compared to marking it up by hand,
          considering I want it in two languages. And, of course as updating is n
          times easier using script. If I had used accessibility markup³, it would
          be sure it was faster than do it by hand. If you have some long table,
          including something like 50 items, it is practically always fastest to
          generate it with script (at least the part that has 50 items.).

          And when you do it with script, accessibility markup is probably easier
          to add later ;-)

          [1] Actually procmail runs the script, all I need to do is to order mail.
          [2] Even if this script was first thing I have ever programmed in perl.
          [3] I don't think that content of this table really interests anyone but
          me, so I didn't bother. May do in future though as exercise...

          --
          Lauri Raittila <http://www.iki.fi/lr> <http://www.iki.fi/zwak/fonts>
          Saapi lähettää meiliä, jos aihe ei liity ryhmään, tai on yksityinen
          tjsp., mutta älä lähetä samaa viestiä meilitse ja ryhmään.

          Comment

          • Brian

            #6
            Re: Accessibility simplification for highly-dimensional table

            Chris Morris wrote:[color=blue]
            >
            > id/headers is definitely worth doing, since it's the most
            > widely-supported form of table header/cell assignment markup[/color]

            I didn't know what browsers did with such information. Which browsers?
            And how do they use it?

            --
            Brian
            follow the directions in my address to email me

            Comment

            • Chris Morris

              #7
              Re: Accessibility simplification for highly-dimensional table

              Brian <usenet2@juliet remblay.com.inv alid-remove-this-part> writes:[color=blue]
              > Chris Morris wrote:[color=green]
              > > id/headers is definitely worth doing, since it's the most
              > > widely-supported form of table header/cell assignment markup[/color]
              >
              > I didn't know what browsers did with such information. Which browsers?
              > And how do they use it?[/color]

              If you can get a demo copy of IBM Home Page Reader to test with,
              that's probably best. Test on

              or

              or some other page with a big table on it. (careful of line wrapping)

              But in summary, when in table reading mode they hit a <td> that has a
              headers attribute, they read the contents of the <th>s with matching
              ids (or that th's abbr attribute, if it exists).

              So:
              ....<th id="a1">Foo</th>...
              ....<th id="i5">Bar</th>...
              ....<td headers="i5 a1">Baz</td>...
              would be read
              [Bar Foo] Baz (or possibly [Foo Bar] Baz)
              (where the brackets might be read differently)

              In browsers with a 2-D visual display and table support such
              information is rarely (ever?) used since it's usually obvious enough
              from other cues.

              --
              Chris

              Comment

              Working...