This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Let's say there is element: <span style="border-style:solid;border-width:5px;"></span> This element has 0 clientWidth and clientHeight but its offsetWidth and offsetHeight are positive numbers. The spec currently says: "The element must have a height and width greater than 0px" without saying type of width/height. I made a quick test and the following element is clickable in Google Chrome: <span style="border-style:solid;border-width:5px;" onclick="console.log(1000)"></span> I think it should be clarified which type of width/height is meant.
I'll work on getting visibility experts' attention.
landed in https://dvcs.w3.org/hg/webdriver/rev/28b6056637b2
Created attachment 1476 [details] A few cleanups in section 10.1
The newly added "The element must have a DOMRect height and a DOMRect width greater than 0px, as returned by element.getBoundingClientRect() , unless the element has a descendent with a positive height and width." does not mention which elements MUST/SHOULD/MAY be (considered) displayed. Also it is a slower check (descendents are involved) and some trivial checks go first in this algorithm. It makes sense to move all the trivial checks up. Also I noticed that "displayed" is used in most of the section while "shown" or "visible" on only a few occasions. I removed "if Javascript is enabled", too ( https://www.w3.org/Bugs/Public/show_bug.cgi?id=25681 ) I just attached a patch I suggest committing.
Not sure if the email notifications fired up or not... Reopening just in case.
Created attachment 1477 [details] Suggested ammended wording for "height and width > 0px" A new patch attached; only changes strictly related to this bug.
Landed in https://dvcs.w3.org/hg/webdriver/rev/d3d3f482328e
There is an extra space between "element." and "getBoundingClientRect()" now.
fixed in https://dvcs.w3.org/hg/webdriver/rev/ed9347dfddf6