Open Bug 1498358 Opened 6 years ago Updated 2 years ago

Stop supporting ::before/::after on <option> and <optgroup> when inside a combobox (<select size=1>)

Categories

(Core :: Layout, defect, P4)

defect

Tracking

()

Tracking Status
firefox64 --- affected

People

(Reporter: MatsPalmgren_bugz, Unassigned)

Details

(Keywords: site-compat, testcase)

Attachments

(2 files)

Attached file Testcase
Our support for ::before/::after on <option> and <optgroup> inside a combobox is rather broken (see testcase). Chrome/Safari/Edge don't support these pseudos in comboboxes (sadly), so we should probably remove our support too, rather than fixing the layout... Firefox/Edge/Chrome do support these pseudos in lists (<select size=4>), but Safari doesn't. All four UAs support them for display:contents nodes when they don't have a <select> parent, albeit with somewhat incompatible layout. Firefox/Edge/Chrome support them for display:inline nodes when they don't have a <select> parent, albeit with somewhat incompatible layout. Safari doesn't render anything in that case - not even the "option" text. (it's not creating a box at all?) It appears we use ::before in our UA sheet to display the <optgroup> label though, which is an incorrect implementation that we should fix. (similar to bug 1303574)
My patch in bug 1494224 accidentally removed the optgroup support, for which some accessibility tests complained, I'll land it fixed up to preserve our current behavior, but it should be easy (i.e., removing the exception) once our labeling support doesn't depend on it.
Attached patch wipSplinter Review
This should work once we have implemented <optgroup label> with something other than ::before.
Keywords: site-compat
Severity: minor → S4
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: