[CSS3 Text] Text decoration and Line decoration

I have a couple of concerns with the latest proposal and removing some of the properties from the last CR. Let me see if I can point them all out and come up with viable solutions.

These situations assume that you have no access to editing the markup. You only have access to edit the CSS.

Issues:

1: What if an editor wants to have a 'solid' line-through but there is already a 'double' underline in the original text? This is a viable situation for editors that want to track changes but don't want to change the context of the document by altering the underline which may have some additional meaning.

2: What if the editor wanted a line-through to be red and an underline to match the text color. This again could be the same situation as issue 1 because changing the underline color may change the context or meaning of the text.

3: text-line-skip again we need to think about situations where I want my line-through to go through images but my underline not to go under images. This I think could be handled by an additional selector for 'img' but if we change the rules based on 1 and 2 then this should follow the similar pattern.

4: text-line-skip should also have the ability to have multiple values. What if the developer wanted to skip both spaces and images but not ink?

5: for backwards compatibility sake we should leave text-decoration alone or deprecate it all together in CSS3.

6: The text-line-color initial value is 'currentColor' I did a search through the module you referenced in the old CR and I can't find 'currentColor'. Did I miss it somewhere?

7: text-line-skip what about skipping controls (buttons, checkboxes, radios, etc..) or replaced elements?

8: text-line-style has a value for wave and in your example in the CR this looks more like a zig-zag to me as opposed to a wave which I would expect to be more curved. (I assume the rendering is non-normative but wanted to point it out that we are limiting our ability to expand by possibly using terminology that isn't quite right for the situation).

9: as for the text-underline-width and other respective properties; I don't think width is necessary at this time. I think in the future it might be useful but as of right now, and even if we do add this additional functionality to the spec, I don't see a pressing need to be able to change widths.

10: text-blink this is an interesting idea however I think if we do separate out the blink value like this we should change the values to accept a frequency or some sort of timing.


Possible solutions:

1, 2 and possibly 3: bring back the individual properties for underline, overline and line-through. With these properties we would have the most flexibility and the most extensibility moving forward into CSS4. I know this creates a lot of extra properties but it is very usable this way with very little complication of possibility for confusion with what would end up to be very complex properties if we try and keep things combined and try and do this in the future.

Also why is text-underline-position the only oddball property in text for line drawing? It just doesn't seem to fit with the current plan and is another reason to go back to individual properties.

4 and 7: Values: none | [ images || spaces || ink || input(<input-type>) || button || textarea || object ]

<input-type>
values : text || password || checkbox || radio || submit || reset || file || image || button

Of course this list could/should be updated for Web Controls 1.0.

There is an additional question for the setting of 'button' does that also include the input buttons (submit, reset, button)?

5: My suggestion would be to deprecate it. Or if we want to leave it around then that is fine but it should not be altered in any way and should not be a shorthand for these new properties.

8: See the old Borders CSS3 module (http://www.w3.org/Style/Group/css3-src/css3-border/Overview.html#the-border-style) for an example of what wave would look like from my point of view. This would mean that the very jagged example you have in the CR would be more like 'zig-zag'

10: Create a new property 'text-blink-frequency' and use 'text-blink' as the shorthand property

Name: text-blink-frequency
Value: faster | slower | <frequency> | <time>
Initial: 0
Applies to: all elements
Inherited: yes
Percentage: N/A
Media: visual
Computed value: I'm not 100% sure here but I think it would calculate out to time in milliseconds

Name: text-blink
Value: none | blink [ <'text-blink-frequency'> ]?
Initial: none
Applies to: all elements
Inherited: no
Percentages: N/A
Media: visual
Computed value: specified value (except for initial and inherit)

--
Thanks,
Arron Eicholz

Received on Thursday, 19 July 2007 00:39:53 UTC