W3C home > Mailing lists > Public > whatwg@whatwg.org > January 2015

Re: [whatwg] Should onblur be triggered for hidden nodes?

From: Elliott Sprehn <esprehn@chromium.org>
Date: Fri, 23 Jan 2015 17:49:41 -0800
Message-ID: <CAO9Q3iJ52xQysAZS7rC=OYfhQsf5w2NSeowfTp1PAZsfRiJgwA@mail.gmail.com>
To: Rob Wu <rob@robwu.nl>, Ojan Vafai <ojan@chromium.org>
Cc: WHAT Working Group <whatwg@whatwg.org>
On Thu, Jan 8, 2015 at 3:38 AM, Rob Wu <rob@robwu.nl> wrote:

> The spec of the focusing algorithm [1] is not explicit about removed/hidden
> nodes. It seems to allow the change / blur / focusout events to be
> dispatched when an element becomes hidden or is removed from the document.
> All non-WebKit-based users agents (Trident, Gecko, Presto) do NOT follow
> this behavior. I.e. upon node removal, the change/blur/focusout events are
> not dispatched.
> WebKit and Blink deviate from the other UAs, they do trigger these events (
> crbug.com/439484).
> This discrepancy became even more significant when Blink started to match
> other UA's behaviors and focus anchor elements upon click (
> crbug.com/388666#c10). Now, out of all browsers that focus an <a> element
> upon click, Blink is the only one that triggers the blur event when a node
> is hidden/removed. This difference has caused some broken websites and bug
> reports.
> There are two options here:
> - Dispatch change / blur / focusout when an element is unfocused,
> regardless of whether the element is still in the document.
> - Ignore hidden / removed elements in the focusing algorithm; i.e. do not
> dispatch these events.
> I'm inclined to vote for the second option, because the majority of the
> distinct user agents already follow this behavior.
> What do you think?

I'd support doing this, having to fire blur events when nodes are removed
has been a frequent source of security bugs and complexity in WebKit/blink.

This does mean you can't do certain fancy focus behaviors, but given that
most browsers don't do it anyway we should get rid of it.

> Kind regards,
>  Rob
>  https://robwu.nl
> [1]
> https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule-one
Received on Saturday, 24 January 2015 01:50:49 UTC

This archive was generated by hypermail 2.3.1 : Monday, 13 April 2015 23:09:32 UTC