- From: Alan Stearns <stearns@adobe.com>
- Date: Mon, 24 Jun 2013 10:10:08 -0700
- To: Elliott Sprehn <esprehn@gmail.com>, "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: Simon Pieters <simonp@opera.com>, W3C WWW Style <www-style@w3.org>, "glenn.adams@cox.com" <glenn.adams@cox.com>, Ian Hickson <ian@hixie.ch>, Simon Fraser <smfr@me.com>
On 6/24/13 9:53 AM, "Elliott Sprehn" <esprehn@gmail.com> wrote: > >On Mon, Jun 24, 2013 at 8:58 AM, Tab Atkins Jr. <jackalmage@gmail.com> >wrote: > >On Mon, Jun 24, 2013 at 7:50 AM, Alan Stearns <stearns@adobe.com> wrote: > > >> On 6/24/13 4:29 AM, "Simon Pieters" <simonp@opera.com> wrote: >> > >> Thanks,>>> The NodeList returned from elementsFromPoint(x, y) should be >>identical >>>>to >>>> a list constructed by iterating over these steps: >>>> >>>> 1. Call elementFromPoint(x, y) and add any non-null result to the >>>>list. >>>> 2. If the result not null nor the root element, remove that element >>>>and >>>>go >>>> to step 1. >>>That would be incorrect, since elementFromPoint uses hit testing. >> >> Fair enough. But then I'd add a note to parallel the note above, >>something >> like: >> >> --- >> The elementsFromPoint() method will return all painted elements at the >> coordinates, even those excluded from being a target for hit testing by >> using the 'pointer-events' CSS property. >> --- > > >Is that an intentional difference? It seems weird for >elementFromPoint and elementsFromPoint to use different methods to >determine what's returned; in particular, it seems weird that if the >top-most element has pointer-events:none, it'll be skipped by the >former and returned as the first result by the latter. > > > >Yeah, I'd hope they would behave identically except that >elementsFromPoint() would return all the elements as if I had shot a line >through the page along the z-axis. > >- E That was my preference as well, but reading through the bug discussion [1] I see that it was proposed to include pointer-events:none elements because (1) that's what IE's implementation currently does, (2) this method is not intrinsically about hit testing and (3) you can filter pointer-events:none elements out of the sequence if you like. I find (3) somewhat convincing - your code can ignore those elements if you like, but the elements are provided if you have a need for them. But I would be happy with either including or excluding pointer-events:none elements in the sequence. Thanks, Alan [1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=19753
Received on Monday, 24 June 2013 17:10:46 UTC