Re: [cssom-view][css-ui] elementsFromPoint() and pointer-events:paint-order

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