- From: Florian Rivoal via GitHub <sysbot+gh@w3.org>
- Date: Fri, 21 Oct 2016 02:40:32 +0000
- To: public-css-archive@w3.org
I don't think it is so much about the separation of content and style, as it about the fact that you cannot preserve style separately from content when going plain text, and therefore having to make compromises. Since they are compromises, it is expected that there will be some tension between various desirable goals: discard as little information/semantics as possible, don't surprise the user, provide the most useful behavior... A general principle is to make the output look similar to the input to avoid surprises and confusion. This suggests that taking the `display`, `list-style`, `visibility`, `content`, or `white-space` properties is better. On the other hand, breaking away from that generic principle can be justified by looking in to specific scenarios where a property is used, and see if in practice, it is more useful to discard the property than to preserve it. This is the argument that is being made against `text-transform`. * `p::first-line { text-transform: uppercase }` preserving the transform here would look really weird when pasting into a window which is most likely a different size. **not preserving is better** * `abbr { text-transform: lowercase; font-variant: small-caps;}` the font-variant cannot be preserved, so preserving the text-transform would mean getting lower-case acronyms, which is certainly not something you want. **not preserving is better** * `tr {font-size: small; text-transform: full-size-kana;}` small kana are sometimes transformed into full size kana in japanese ruby when set at a small font size, to help with legibility at the expense of accuracy, turing しゃ (sha) into しや (shiya). If the text transform is preserved when the the layout is not, this will give incorrect pronounciation for no good reason. **not preserving is better** * `<h1>Breaking News: Cheese is Actually Made of Milk</h1> h1 {text-transform: uppercase; ... }` The uppercasing is part of a set of stylistic choices to put emphasis on the title, the rest of which (font choice, font size, boldness...) get discarded. The user of the pasted text may want to style it the same way, but they may just as well want a different style. Text transform is a lossy transformation, and applying it discards the original casing. While the user could easily put everything back in uppercase if they wanted to, the opposite transformation cannot be done automatically. Some have argued that was outweighed by users who want to preserve the title's original style being surprised when it is not. **arguments go both ways** * `em {font-style: normal; text-transform: uppercase` There is a semantic loss if the transform is not preserved. But that loss happens as well if emphasis was styled some other way, and preserving the transform causes another semantic loss, since the original casing cannot be restored from the all caps text. **arguments go both ways** Unless more use cases are found that sway the argument the other way, it seems to me that the conclusion should either be "up the the UA" or "don't preserve text-transform". There are some cases where some users would prefer for it to be preserved, so leaving it up to the UA may be reasonable, but in most cases, the opposite is true, so if we're going to specify the behavior one way, it should be in favor of not preserving. Polling of the CSSWG showed a roughly even split between these two options, with browsers representative mostly preferring "up to the UA", and others mostly prefering "don't preserve". -- GitHub Notification of comment by frivoal Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/627#issuecomment-255279958 using your GitHub account
Received on Friday, 21 October 2016 02:40:39 UTC