HTMLPurifier Progress

Key

Implemented
Partially implemented
Will not implement
Dangerous attribute/property
Present in CSS1

Interesting Attributes

AttributeTagsNotes
CSS
styleAllNeeds CSS parser
Questionable
accesskeyAMay interfere with main interface
tabindexAMay interfere with main interface
targetAConfig enabled, only useful for frame layouts
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
alignCAPTIONNear-equiv style 'caption-side', drop left and right
IMGMargin-left and margin-right = auto or parent div
TABLE
HREquivalent style 'text-align' (IE tested)
H1, H2, H3, H4, H5, H6, PEquivalent style 'text-align'
altIMGRequired, insert image filename if src is present or default invalid image text
bgcolorTABLEEquivalent style 'background-color' (IE tested)
TREquivalent style 'background-color' (IE tested)
TD, THEquivalent style 'background-color'
borderIMGEquivalent style 'border-width', only applies when link present
clearBRNear-equiv style 'clear', transform 'all' into 'both'
compactDL, OL, ULBoolean, needs custom CSS class
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', transform may not be desirable
typeLIEquivalent style 'list-style-type', different allowed values though. (needs testing)
OL
UL
valueLIPoorly supported 'counter-reset', transform may not be desirable, see ol.start. Configurable.
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

CSS

NameNotes
Standard
background-colorCOMPOSITE(<color>, transparent)
backgroundSHORTHAND
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, possible fix with &nbsp;?
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
bottomDangerous, must be non-negative
left
right
top
clip-
positionENUM(static, relative, absolute, fixed), permit relative not absolute?
z-indexDangerous
Unknown
background-imageDangerous
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.
heightInteresting, why use it?
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)
page-break-afterENUM(auto, always, avoid, left, right), IE 5.5/6 and Opera
page-break-beforeENUM(auto, always, avoid, left, right), Mostly supported
page-break-insideENUM(avoid, auto), Opera only
quotesMay be dropped from CSS2
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?
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