[Webkit-unassigned] [Bug 211987] New: iOS Safari select with optgroup does not always uncheck previous options

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat May 16 11:10:57 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=211987

            Bug ID: 211987
           Summary: iOS Safari select with optgroup does not always
                    uncheck previous options
           Product: WebKit
           Version: Other
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: james_account at icloud.com
                CC: bfulgham at webkit.org, simon.fraser at apple.com,
                    zalan at apple.com

OS: iOS 13.4.1
Safari version: Not sure. The one that ships with iOS 13.4.1 

Severity: High (in my opinion)

Background:

By default, select elements only allow one option to be selected. The optgroup element allows you to visually group the options in a select. 

The problem:

In Safari on iOS, it is possible to find yourself in a state where more than one options appear to be selected.

To reproduce:

Example CodeSandbox here (open on your phone): https://mfu9l.csb.app
CodeSandBox source here (open on your laptop): https://codesandbox.io/s/snowy-thunder-mfu9l?file=/index.html

1. Create a select with several options and several optgroups
2. Open the select and choose one of the options near the top
3. Without closing the select, scroll to the options near the bottom and choose one
4. Again without closing the select, scroll back to the top and observe that the first option that you chose is still selected

If you keep clicking around, you can observe a number of strange behaviors with selected options that you scroll offscreen. They appear to break in some way after they are scrolled offscreen.

Theory:

I believe two facts are combining to create this bug:

1. This select is virtualized, so that items that are offscreen are not rendered
2. Items that are offscreen persist whatever their state is (i.e.; if they are unchecked, they remain unchecked, and if they are checked, then they remain checked)

If this is true, then fixing # 2 is the solution. Items that aren't rendered still need to have their checked state updated.

---

I believe this is high priority because selects and optgroups are basic building blocks for the web. Users may be confused if they think they're selecting one thing in a dropdown when they have actually selected something else. Consider, say, a bank's website that may be using a dropdown with optgroups to choose where to transfer money to/from. A user may unintentionally send money to the wrong place.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200516/2697f08c/attachment.htm>


More information about the webkit-unassigned mailing list