Implementation Progress

Filed under Development
Return to the index.
HTML Purifier End-User Documentation

Key

Implemented
Partially implemented
Will not implement
Dangerous attribute/property
Present in CSS1
Feature, requires extra work

CSS

NameNotes
Standard
background-colorCOMPOSITE(<color>, transparent)
backgroundSHORTHAND, currently alias for background-color
borderSHORTHAND, MULTIPLE
border-colorMULTIPLE
border-styleMULTIPLE
border-widthMULTIPLE
border-*SHORTHAND
border-*-colorCOMPOSITE(<color>, transparent)
border-*-styleENUM(none, hidden, dotted, dashed, solid, double, groove, ridge, inset, outset)
border-*-widthCOMPOSITE(<length>, thin, medium, thick)
clearENUM(none, left, right, both)
color<color>
floatENUM(left, right, none), May require layout precautions with clear
fontSHORTHAND
font-familyCSS validator may complain if fallback font family not specified
font-sizeCOMPOSITE(<absolute-size>, <relative-size>, <length>, <percentage>)
font-styleENUM(normal, italic, oblique)
font-variantENUM(normal, small-caps)
font-weightENUM(normal, bold, bolder, lighter, 100, 200, 300, 400, 500, 600, 700, 800, 900), maybe special code for in-between integers
letter-spacingCOMPOSITE(<length>, normal)
line-heightCOMPOSITE(<number>, <length>, <percentage>, normal)
list-style-positionENUM(inside, outside), Strange behavior in browsers
list-style-typeENUM(...), Well-supported values are: disc, circle, square, decimal, lower-roman, upper-roman, lower-alpha and upper-alpha. See also CSS 3. Mostly IE lack of support.
list-styleSHORTHAND
marginMULTIPLE
margin-*COMPOSITE(<length>, <percentage>, auto)
paddingMULTIPLE
padding-*COMPOSITE(<length>(positive), <percentage>(positive))
text-alignENUM(left, right, center, justify)
text-decorationNo blink (argh my eyes), not enum, can be combined (composite sorta): underline, overline, line-through
text-indentCOMPOSITE(<length>, <percentage>)
text-transformENUM(capitalize, uppercase, lowercase, none)
widthCOMPOSITE(<length>, <percentage>, auto), Interesting
word-spacingCOMPOSITE(<length>, auto), IE 5 no support
Table
border-collapseENUM(collapse, seperate)
caption-sideENUM(top, bottom)
empty-cellsENUM(show, hide), No IE support makes this useless, possible fix with &nbsp;? Unknown release milestone.
table-layoutENUM(auto, fixed)
vertical-alignCOMPOSITE(ENUM(baseline, sub, super, top, text-top, middle, bottom, text-bottom), <percentage>, <length>) Also applies to others with explicit height
Absolute positioning, unknown release milestone
bottomDangerous, must be non-negative to even be considered, but it's still possible to arbitrarily position by running over.
left
right
top
clip-
positionENUM(static, relative, absolute, fixed) relative not absolute?
z-indexDangerous
Unknown
background-imageDangerous, target milestone 1.3
background-attachmentENUM(scroll, fixed), Depends on background-image
background-positionDepends on background-image
cursorDangerous but fluffy
displayENUM(...), Dangerous but interesting; will not implement list-item, run-in (Opera only) or table (no IE); inline-block has incomplete IE6 support and requires -moz-inline-box for Mozilla. Unknown target milestone.
heightInteresting, why use it? Unknown target milestone.
list-style-imageDangerous?
max-heightNo IE 5/6
min-height
max-width
min-width
orphansNo IE support
widowsNo IE support
overflowENUM, IE 5/6 almost (remove visible if set). Unknown target milestone.
page-break-afterENUM(auto, always, avoid, left, right), IE 5.5/6 and Opera. Unknown target milestone.
page-break-beforeENUM(auto, always, avoid, left, right), Mostly supported. Unknown target milestone.
page-break-insideENUM(avoid, auto), Opera only. Unknown target milestone.
quotesMay be dropped from CSS2, fairly useless for inline context
visibilityENUM(visible, hidden, collapse), Dangerous
white-spaceENUM(normal, pre, nowrap, pre-wrap, pre-line), Spotty implementation: pre (no IE 5/6), nowrap (no IE 5), pre-wrap (only Opera), pre-line (no support). Fixable? Unknown target milestone.
Aural
azimuth-
cue-
cue-after-
cue-before-
elevation-
pause-after-
pause-before-
pause-
pitch-range-
pitch-
play-during-
richness-
speak-headerTable related
speak-numeral-
speak-punctuation-
speak-
speech-rate-
stress-
voice-family-
volume-
Will not implement
contentNot applicable for inline styles
counter-incrementNeeds content, Opera only
counter-resetNeeds content, Opera only
directionNo support
outline-colorIE Mac and Opera on outside, Mozilla on inside and needs -moz-outline, no IE support.
outline-style
outline-width
outline
unicode-bidiNo support

Interesting Attributes

AttributeTagsNotes
CSS
styleAllParser is reasonably functional. Status here doesn't count individual properties.
Questionable
accesskeyAMay interfere with main interface
tabindexAMay interfere with main interface
targetAConfig enabled, only useful for frame layouts, disallowed in strict
Miscellaneous
datetimeDEL, INSNo visible effect, ISO format
relALargely user-defined: nofollow, tag (see microformats)
revALargely user-defined: vote-*
axisTD, THW3C only: No browser implementation
charCOL, COLGROUP, TBODY, TD, TFOOT, TH, THEAD, TRW3C only: No browser implementation
headersTD, THW3C only: No browser implementation
scopeTD, THW3C only: No browser implementation
URI
citeBLOCKQUOTE, QFor attribution
DEL, INSLink to explanation why it changed
hrefA-
longdescIMG-
srcIMGRequired
Transform, target milestone 1.4
alignCAPTIONNear-equiv style 'caption-side', drop left and right
IMGMargin-left and margin-right = auto or parent div
TABLE
HRNear-equivalent style 'text-align' (Works for IE and Opera, but not Firefox). Also try margin-right:auto; margin-left:0; for left or margin-right:0; margin-left:auto; for right (optionally replacing 0 with the original margin for that side)
H1, H2, H3, H4, H5, H6, PEquivalent style 'text-align'
altIMGRequired, insert image filename if src is present or default invalid image text
bgcolorTABLESuperset style 'background-color'
TRSuperset style 'background-color'
TD, THSuperset style 'background-color'
borderIMGNear equivalent style 'border-width', as it only applies when link present
clearBRNear-equiv style 'clear', transform 'all' into 'both'
compactDL, OL, ULBoolean, needs custom CSS class; rarely used anyway
dirBDORequired, insert ltr (or configuration value) if none
heightTD, THNear-equiv style 'height', needs px suffix if original was in pixels
hspaceIMGNear-equiv styles 'margin-top' and 'margin-bottom', needs px suffix
lang*Copy value to xml:lang
nameIMGTurn into ID
ATurn into ID? (not deprecated, though in which specs?)
noshadeHRBoolean, style 'border-style:solid;'
nowrapTD, THBoolean, style 'white-space:nowrap;' (not compat with IE5)
sizeHRNear-equiv 'width', needs px suffix if original was pixels
srcIMGRequired, insert blank or default img if not set
startOLPoorly supported 'counter-reset', allowed in loose, dropped in strict
typeLIEquivalent style 'list-style-type', different allowed values though. (needs testing)
OL
UL
valueLIPoorly supported 'counter-reset', allowed in loose, dropped in strict
vspaceIMGNear-equiv styles 'margin-left' and 'margin-right', needs px suffix, see hspace
widthHRNear-equiv style 'width', needs px suffix if original was pixels
TD, TH
$Id$