- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Tue, 20 Feb 2007 12:30:16 -0800
- To: Christoph Päper <christoph.paeper@crissov.de>, "W3C CSS" <www-style@w3.org>
----- Original Message -----
From: "Christoph Päper" <christoph.paeper@crissov.de>
To: "W3C CSS" <www-style@w3.org>
Sent: Tuesday, February 20, 2007 6:14 AM
Subject: Survival of Styling with Copy and Paste
|
| Bert Bos:
| > when you copy & paste text of which a part is generated ('content'
| > property), do you get the document's text only or also the
| > generated text?
| >
| > Some time ago, the CSS WG also discussed another, similar question:
| > if you copy & paste an element that is subject to 'text-transform:
| > uppercase', do you get uppercase or the original text?
| >
| > In both questions, the answer was that that is out of scope.
|
| I thought the answer was very simple, and twofold. If you copy (and
| paste) plain text*, no styling is retained whatsoever. If you copy
| (and paste) "rich" text, styling is preserved as far as the
| application the selection is inserted to supports the styling, so |
| text-transform| should survive most of the time, but generated
| content is not that much supported elsewhere.
| Nevertheless, this is indeed out of the scope of CSS to define.
That requires definition of the "richtext".
What happens in reality: copy/past clipboard contains html fragment
that might be not full.
Say you have source document:
<html>
<style>
#content p { color:blue; }
</style>
...
<div id="content">
....
<p>text to copy</p>
....
</div>
</html>
and on 'copy' UA will put in clipboard following:
<html>
<p><!-- start -->text to copy<!-- end --></p>
</html>
As you may see even if CSS is available for the target application (where paste
happens)
it will not work as the selector
#content p
will match nothing in this case.
This is first. And the second: target environment may have its own opinion
about what system of styles shall be used in the document where paste happen.
So the only feasible option of inter-document copying is use of
pure html without any styling information. CSS (cascading) simply
does not work in this use case.
|
| * Note the border case of plain text as used in e-mail and
| newsgroups, there 'font-weight: bold' for instance should be rendered
| as asterisks (|*|) before and after the applicable text, likewise
| generated and transformed text should be hard-coded.
|
This is cultural and context specific - cannot be used as an universal
principle.
Andrew Fedoniouk.
http://terrainformatica.com
Received on Tuesday, 20 February 2007 23:06:37 UTC