It's right there in the spec, plain as day, but it still makes no frigging sense. I can understand the camelCaps when using DOM methods to set CSS properties with hyphens in them -- like 'borderRight' (for 'border-right') or 'backgroundImage' (for 'background-image'), but why 'cellPadding' and 'cellSpacing'?
The HTML attributes are 'cellpadding' and 'cellspacing' -- all lowercase, no hyphens. How the hell do these supposedly bright people in the W3C decide these things? Flip a coin? Rock paper scissors? Or do they just default to the least intuitive option?