I have the following design, which is required for layout, the layout of which I cannot change:
Please ignore the filler text, I know this does not make much sense.
I chose a table, because it looks like a 95% table. But I'm at a standstill when it comes to corresponding semantic markup for the layout of data points under each element. Each point is different, i.e. This is not free-form text, and each time it is placed in the same relative position, but it breaks down the table structure of a traditional table, since no headings or labels are assigned to these points. I am interested in marking up such a layout so that it is:
- Semantic
- Available for modern screen devices (I know that some old screen readers have various errors, but, like old browsers, I do not think it is fair to limit the best / newer methods for outdated software).
I have encountered this problem many times over the past few years and finally hacked and turned to the community for advice. I tried:
- Using a separate
tbody for each element, and there, using the second line for additional data points, but gave up when I could not figure out how to associate a "dungeon" with the element. - Stacking a table with all the different data points and headings horizontally, and then using CSS to place things. Unfortunately, contrary to my previous statement about outdated software, I need to support IE 7, and this method does not work.
- I looked at using hidden
th rows and rowspans to create a more complex table layout and trying to use ARIA to get the desired screen reading results, all to no avail. - I also considered using nested tables, but this is just very, very wrong.
Any help was appreciated.
Note: Turning this on to display a cross browser is actually not that difficult - I'm wondering how to make this semantic and accessible.
source share