Bug 210223
| Summary: | <label> should treat any HTML element with a tabindex attribute as interactive content | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Timothy Gu <timothygu99> |
| Component: | Forms | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED WONTFIX | ||
| Severity: | Normal | CC: | cdumez, webkit-bug-importer, wenson_hsieh |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Timothy Gu
Consider:
<!DOCTYPE html>
<label>
<button onclick="alert('bad')">Don't click</button>
<div tabindex="0">Click</div>
</label>
When one clicks on the div with tabindex attribute, the button gets clicked. But it should not, as the div should be considered interactive content [1], and the HTML Standard says that the activation behavior of the label [2] with events targeted at interactive content descendants of label must be a no-op.
Previously Chrome and Firefox behaves similarly to Chrome, but whatwg/html#5414 [3] reaffirms the spec, and Chromium CL 2122369 [4] implements the spec behavior. I plan to implement this change in Firefox as well [5]. We should align once Chrome ship this change.
More tests are available at [6].
[1]: https://html.spec.whatwg.org/C/#interactive-content-2
[2]: https://html.spec.whatwg.org/C/#the-label-element:activation-behaviour-2
[3]: https://github.com/whatwg/html/issues/5414
[4]: https://chromium-review.googlesource.com/c/chromium/src/+/2122369
[5]: https://bugzilla.mozilla.org/show_bug.cgi?id=1628500
[6]: https://github.com/web-platform-tests/wpt/pull/22749
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/61484026>
Timothy Gu
This is apparently not web-compatible, according to https://crbug.com/1069615.