<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>22653</bug_id>
          
          <creation_ts>2013-07-12 14:32:02 +0000</creation_ts>
          <short_desc>Container visibility when children are visible, but parent is hidden</short_desc>
          <delta_ts>2015-10-26 00:53:45 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Browser Test/Tools WG</product>
          <component>WebDriver</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>20860</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Tolf Tolfsen">andreastt</reporter>
          <assigned_to name="seva">vlotoshnikov</assigned_to>
          <cc>dburns</cc>
    
    <cc>mike</cc>
    
    <cc>vlotoshnikov</cc>
          
          <qa_contact name="Browser Testing and Tools WG">public-browser-tools-testing</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>90672</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Tolf Tolfsen">andreastt</who>
    <bug_when>2013-07-12 14:32:02 +0000</bug_when>
    <thetext>At the last W3C webdriver spec meeting we discussed the scenario where
you have an ancestral element hiding it&apos;s overflow, and a parent
element with two absolutely position child elements.  The parent
element is not visible to the user, but as a container element for the
two visible child elements it can be considered interactable.

An example is a container element, such as a menu, located
off-viewport with its child elements in-view.  From a user perspective
the menu is definitely visible, should webdriver also consider the
container visible?

See the following patch for an example:

  https://github.com/w3c/web-platform-tests/commit/1c76adbcb5b718bbf8e4045a1598711fca89868d

The conclusion we reached at the meeting was it we would differentiate
between interactability and visibility.  This has not yet been covered
in the specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99651</commentid>
    <comment_count>1</comment_count>
    <who name="David Burns :automatedtester">dburns</who>
    <bug_when>2014-02-04 00:22:25 +0000</bug_when>
    <thetext>*** Bug 23309 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108743</commentid>
    <comment_count>2</comment_count>
    <who name="seva">vlotoshnikov</who>
    <bug_when>2014-07-07 00:04:38 +0000</bug_when>
    <thetext>I meant to get to this and propose spec, but didn&apos;t to date.
I don&apos;t think I was at the f2f where this was discussed for the first time so might be missing some context.

I am not sure I follow why the parent element in the example should just be considered interactable and not also visible (it has visible children, user sees them, that means user &quot;sees&quot; the parent, no?).

I still see use for interactability and visibility as distinct properties: some invisible elements can be tab&apos;ed into and then typed into; that would count as an interaction while some other kinds of interaction such as click would not be possible since the element is not visible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108753</commentid>
    <comment_count>3</comment_count>
    <who name="seva">vlotoshnikov</who>
    <bug_when>2014-07-07 14:42:53 +0000</bug_when>
    <thetext>Detecting such parent element (with absolutely positioned visible children but otherwise invisible) as visible might not be feasible in a JavaScript implementation for performance reasons. But it may very well be feasible in a native implementation. And I believe it would make for a better isDisplayed eventually.

Proposal: consider two modes/levels for visibility:
1. (what is described now) &quot;compatibility&quot;, the current atoms/JavaScript implementation
2. (what it should be ideally) &quot;precise&quot;, where elements (and their children combined) actually visible to the user are reported &apos;displayed&apos;.

Doing this opens up ways for improvements to visibility detection. Right now the specification basically says that the perfectly precise isDisplayed is not compliant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123898</commentid>
    <comment_count>4</comment_count>
    <who name="David Burns :automatedtester">dburns</who>
    <bug_when>2015-10-26 00:53:45 +0000</bug_when>
    <thetext>this has been corrected in the spec</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>