diff -r 459c6b19fc68 webdriver-spec.html
--- a/webdriver-spec.html Mon May 12 11:58:54 2014 +0100
+++ b/webdriver-spec.html Tue May 13 03:59:24 2014 -0700
@@ -1019,22 +1019,24 @@
Conformance tests for this section can be found in the webdriver module under the "element_state" folder.
Determining if an element is displayed
- The following steps MUST be used to determine if an element is displayed to a user. This specification refers to this as the element being "shown".
+ The following steps MUST be used to determine if an element is displayed to a user.
- - The BODY element MUST be displayed irrespective of any CSS style
- - 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.
+ - The BODY element MUST be displayed irrespective of any CSS style.
- If element is a [[!DOM4]]
- text node then it MUST be visible.
+ text node then it MUST be displayed.
- The element MUST NOT be displayed if that element, or any of its ancestors,
has a hidden attribute or has
display:none in its computed CSS style.
+ - Any INPUT elements of "type=hidden" MUST NOT be displayed.
+ - Any NOSCRIPT elements MUST NOT be displayed.
+ - If element or at least one of its descendents have both DOMRect
+ height and a DOMRect width greater than 0px, as returned by
+
element.getBoundingClientRect()
+ then it MUST be displayed.
- The element MUST NOT be displayed if there is a [[!css3-2d-transforms]] or [[!css3-3d-transforms]]
property that gives a negative x or y to the canvas. The User Agent MUST NOT allow negative scrolling.
- - OPTIONs and OPTGROUP elements are treated as special cases, they are considered shown if and only if the enclosing select element is displayed.
- - MAP elements are shown if and only if the image it uses is displayed. Areas within
- a map are shown if the enclosing MAP is displayed.
- - Any INPUT elements of "type=hidden" are not displayed
- - Any NOSCRIPT elements MUST NOT be displayed if Javascript is enabled.
+ - OPTIONs and OPTGROUP elements MUST be displayed if and only if the enclosing select element is displayed.
+ - MAP elements are displayed if and only if the image it uses is displayed. Areas within
+ a map are displayed if the enclosing MAP is displayed.
- The element MUST NOT be displayed if any ancestor of the element has a fixed size, and has the CSS style with one of the following
overflow:hidden, overflow-x:hidden or overflow-y:hidden, and the element's location as determined by getClientRects is not within the fixed size of the parent.