mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-12-22 16:31:53 +00:00
a8db22dfff
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@666 48356398-32a2-884e-a903-53898d9a118a
38 lines
1.7 KiB
Plaintext
38 lines
1.7 KiB
Plaintext
|
|
Is HTML Purifier Strict or Transitional?
|
|
A little bit of helpful guidance
|
|
|
|
Despite the fact that HTML Purifier professes to support both transitional and
|
|
strict HTML, it rejects a lot of attributes and elements that are actually, indeed,
|
|
valid. You can investigate progress.html to find out precisely what we
|
|
are doing to these *deprecated* attributes.
|
|
|
|
However, users have found that Strict HTML imposes some quite unreasonable
|
|
restrictions on certain things. The start and value attributes in ol and
|
|
li (respectively) perhaps are the most contested. There's is currently no
|
|
widely supported browser method short of JavaScript that can replace these
|
|
two deprecated elements. It behooves us to allow these deprecated
|
|
attributes when the output is transitional.
|
|
|
|
Fortunantely, that's the only real bugger case. The others have near-perfect
|
|
CSS equivalents, and were presentational anyway. However, the other question
|
|
pops up: should we always convert these to the CSS forms when 1. the spec
|
|
allows them anyway and 2. older browsers support them better? After all, the
|
|
whole point about CSS is to seperate styling from content, so inline styling
|
|
doesn't solve that problem.
|
|
|
|
It's an icky question, and we'll have to deal with it as more and more
|
|
transforms get implemented. As of right now, however, we currently support
|
|
these loose-only constructs in loose mode:
|
|
|
|
- <ul start="1">, <li value="1"> attributes
|
|
- <u>, <strike>, <s> tags
|
|
- flow children in <blockquote>
|
|
- mixed children in <address>
|
|
|
|
The changed child definitions as well as the ul.start li.value are the most
|
|
compelling reasons why loose should be used. We may want offer disabling <u>,
|
|
<strike> and <s> by themselves. We may also want to offer no pre-emptive
|
|
deprecated conversions. This all must be unified.
|
|
|