![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||||
| |||||
|
|
By defining a style as follows: @media aural, handheld {td.layout {display:block;}} I'm hoping to linearise layout tables when viewed by screenreaders |
|
and handheld devices |
|
(it is also be in some selectable user preferences). |
|
This works as intended in Netscape 7 - all the cells stack vertically above each other nicely, but not in Internet Explorer 6 where the only display property that td will respond to seems to be 'none'. |
|
I need to keep the layout tables for legacy reasons, is there any way of doing this and using CSS to stack all the cells vertically in IE? |
#3
| ||||
| ||||
|
|
I'm hoping to linearise layout tables when viewed by screenreaders Um, why? The above code will place the table cells one after the other in the order they appear in the source code. Do you think that a screenreader would do anything different by default? |
|
and handheld devices Handheld devices vary a great deal, some of the can cope with the same sorts of layouts as deslktop computers, others are much more like text browsers (which will usually linearise the table just like a screenreader will), others are in between. Whether any of them support media handheld is another matter. |
|
(it is also be in some selectable user preferences). Already built into some browsers (e.g. Opera) but this seems to be the meat of your question, so let's proceed... |
|
This works as intended in Netscape 7 - all the cells stack vertically above each other nicely, but not in Internet Explorer 6 where the only display property that td will respond to seems to be 'none'. Yep, seems to be the case. IE is rubbish isn't it? I need to keep the layout tables for legacy reasons, is there any way of doing this and using CSS to stack all the cells vertically in IE? I can't think of a pure CSS solution. You could use the DOM to dynamically remove the table markup and replace it with divs. Or you could take the height of the cells (again by querying the DOM) and use that to generate absolutrely positioned co-ordinates for the cells. Those options are a bit complicated and messy. I think you're out of luck. |
#4
| |||
| |||
|
|
I can't think of a pure CSS solution. You could use the DOM to dynamically remove the table markup and replace it with divs. |
#5
| |||
| |||
|
|
Steve Pugh wrote: I can't think of a pure CSS solution. You could use the DOM to dynamically remove the table markup and replace it with divs. Wow, I can strip markup based on stylesheet selection? |
#6
| |||
| |||
|
|
IE, of course, doesn't support alternate stylesheets. So whatever method you use to force the application of the "alternate" stylesheet (either JS or a client side process) can also change your markup at the same time. Steve |
But I actually misphrased my question, I don't really
#7
| |||
| |||
|
|
Steve Pugh wrote: IE, of course, doesn't support alternate stylesheets. So whatever method you use to force the application of the "alternate" stylesheet (either JS or a client side process) can also change your markup at the same time. Steve Yeah, thanks But I actually misphrased my question, I don't reallyabout the trigger being a stylesheet change. What client side process can enable me to do that--select which tags (and the content inside them) to remove then dynamically produce a page hence changed from its original state? I was looking at XSLT but it doesn't seem to be what I'm looking for. xposting to alt.html to try an NG for which this is more on-topic, |
![]() |
| Thread Tools | |
| Display Modes | |
| |