[1.3.0] Added spiffy new smoketest printDefinition.php, which lets you twiddle with...
[htmlpurifier.git] / docs / ref-strictness.txt
blobe383a29b480619ca61ed1e4c692a360b2960a85d
2 Is HTML Purifier Strict or Transitional?
3     A little bit of helpful guidance
5 Despite the fact that HTML Purifier professes only to support transitional
6 HTML, it rejects a lot of attributes and elements that are actually, indeed,
7 valid. You can investigate progress.html to find out precisely what we
8 are doing to these *deprecated* attributes.
10 However, users have found that Strict HTML imposes some quite unreasonable
11 restrictions on certain things. The start and value attributes in ol and
12 li (respectively) perhaps are the most contested. There's is currently no
13 widely supported browser method short of JavaScript that can replace these
14 two deprecated elements. HTML Purifier does not currently support them, but
15 it might behoove us to do so while our output is still transitional.
17 Fortunantely, that's the only real bugger case. The others have near-perfect
18 CSS equivalents, and were presentational anyway. However, the other question
19 pops up: should we always convert these to the CSS forms when 1. the spec
20 allows them anyway and 2. older browsers support them better? After all, the
21 whole point about CSS is to seperate styling from content, so inline styling
22 doesn't solve that problem.
24 It's an icky question, and we'll have to deal with it as more and more 
25 transforms get implemented.  As of right now, however, we currently support
26 these loose-only constructs in loose mode:
28 - <ul start="1">, <li value="1"> attributes
29 - <u>, <strike>, <s> tags
30 - flow children in <blockquote>
31 - mixed children in <address>
33 The changed child definitions as well as the ul.start li.value are the most
34 compelling reasons why loose should be used.  We may want offer disabling <u>,
35 <strike> and <s> by themselves.