# From WebKit svn r66165 (WebCore/html/HTMLAttributeNames.in)
abbr
accept
accept_charset
accesskey
action
align
alink
alt
archive
aria-activedescendant
aria-atomic
aria-busy
aria-checked
aria-controls
aria-describedby
aria-disabled
aria-dropeffect
aria-expanded
aria-flowto
aria-grabbed
aria-haspopup
aria-help
aria-hidden
aria-label
aria-labeledby
aria-labelledby
aria-level
aria-live
aria-multiselectable
aria-orientation
aria-owns
aria-pressed
aria-readonly
aria-relevant
aria-required
aria-selected
aria-valuemax
aria-valuemin
aria-valuenow
aria-valuetext
async
autocomplete
autofocus
autoplay
autosave
axis
background
behavior
bgcolor
bgproperties
border
bordercolor
cellborder
cellpadding
cellspacing
challenge
char
charoff
charset
checked
cite
class
classid
clear
code
codebase
codetype
color
cols
colspan
compact
composite
content
contenteditable
controls
coords
data
datetime
declare
defer
dir
direction
disabled
draggable
enctype
end
event
expanded
face
focused
for
formnovalidate
frame
frameborder
headers
height
hidden
high
href
hreflang
hspace
http_equiv
id
incremental
indeterminate
ismap
keytype
label
lang
language
leftmargin
link
list
longdesc
loop
loopend
loopstart
low
lowsrc
manifest
marginheight
marginwidth
max
maxlength
mayscript
media
method
min
multiple
name
nohref
noresize
noshade
novalidate
nowrap
object
onabort
onbeforecopy
onbeforecut
onbeforeload
onbeforepaste
onbeforeprocess
onbeforeunload
onblur
oncanplay
oncanplaythrough
onchange
onclick
oncontextmenu
oncopy
oncut
ondblclick
ondrag
ondragend
ondragenter
ondragleave
ondragover
ondragstart
ondrop
ondurationchange
onemptied
onended
onerror
onfocus
onfocusin
onfocusout
onhashchange
oninput
oninvalid
onkeydown
onkeypress
onkeyup
onload
onloadeddata
onloadedmetadata
onloadstart
onmousedown
onmousemove
onmouseout
onmouseover
onmouseup
onmousewheel
onoffline
ononline
onorientationchange
onpagehide
onpageshow
onpaste
onpause
onplay
onplaying
onpopstate
onprogress
onratechange
onreset
onresize
onscroll
onsearch
onseeked
onseeking
onselect
onselectstart
onstalled
onstorage
onsubmit
onsuspend
ontimeupdate
ontouchcancel
ontouchend
ontouchmove
ontouchstart
onunload
onvolumechange
onwaiting
onwebkitanimationend
onwebkitanimationiteration
onwebkitanimationstart
onwebkitbeginfullscreen
onwebkitendfullscreen
onwebkittransitionend
optimum
pattern
placeholder
playcount
pluginurl
poster
precision
preload
primary
profile
progress
prompt
readonly
rel
required
results
rev
role
rows
rowspan
rules
sandbox
scheme
scope
scrollamount
scrolldelay
scrolling
selected
shape
size
sortable
sortdirection
span
speech
spellcheck
src
standby
start
step
style
summary
tabindex
tableborder
target
text
title
top
topmargin
truespeed
type
usemap
valign
value
valuetype
version
viewsource
vlink
vspace
webkitdirectory
width
wrap

# Removed from WebKit between r53119 and r56558
autobuffer

# Removed from WebKit between r14011 and r53119
left
pagex
pagey
plain
pluginpage
pluginspage

# was in khtml in 2004, but is no longer in WebCore
accept-charset
html
http-equiv
nosave
oversrc
unknown
visibility
z-index

# From Mozilla CVS 2006-04-15 (mozilla/layout/style/xbl-marquee)
bounce
finish
onbounce
onfinish
onstart


# IE specific, from msdn.microsoft.com/workshop/author/dhtml/reference/properties
acceptcharset
allowtransparency
balance
choff
datafld
dataformatas
datapagesize
datasrc
dynsrc
framespacing
galleryimg
hidefocus
methods
scroll
units
urn
volume

# From Mozilla CVS 2006-04-15 (mozilla/content/base/src/nsGkAtomList.h)
# To get these, I used:
# ggrep -r "Get.*Attr" * | perl -ne 'if (/nsHTMLAtoms::(\w+)/) { \
# system("grep \\($1, content/base/src/nsGkAtomList.h"); }' \
# | cut -d\" -f2 | sort -u
autocheck
base
bottommargin
event
font-weight
handler
layout
observer
ping
point-size
rightmargin
variable

# events from Mozilla CVS 2006-04-15 (mozilla/content/base/src/nsGkAtomList.h)
# cat nsGkAtomList.h | grep GK_ATOM | cut -d\" -f2 | egrep "^on[a-z]+"
onzoom
onunderflow
ontext
onset
onpopupshown
onpopupshowing
onpopuphiding
onpopuphidden
onpaint
onpageshow
onpagehide
onoverflowchanged
onoverflow
onget
ondraggesture
ondragexit
ondragdrop
oncompositionstart
oncompositionend
oncommandupdate
oncommand
onclose
