You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[css-ui-4] Provide hooks for HTML to define rendering for widgets
Relates to #3526
This is part of an editorial rewrite of the prior work by Bocoup
(@zcorpan and @howard-e):
* whatwg/html#7004
* #6537
Co-authored-by: fantasai <fantasai.bugs@inkedblade.net>
Co-authored-by: Simon Pieters <zcorpan@gmail.com>
Co-authored-by: Howard Edwards <howarde.edwards@gmail.com>
* The native appearance of <{input}> elements with a <code>"search"</code><{input/type}> attribute changes
2125
+
to match the appearance of <{input}> elements with a <code>"text"</code><{input/type}> attribute
2126
+
when 'appearance' is ''textfield''.
2127
+
* The native appearance of drop-down box <{select}> elements changes
2128
+
to match that of its <a>devolved</a> state
2129
+
when 'appearance' is ''menulist-button''.
2130
+
</div>
2131
+
2122
2132
</dl>
2123
2133
2124
2134
<div class=issue>
@@ -2156,11 +2166,8 @@ so that CSS can be used to restyle them.
2156
2166
and activating (for example by clicking) the element would toggle the state as usual.
2157
2167
</div>
2158
2168
2159
-
On <a>widgets</a> where the computed value is ''appearance/auto'',
2160
-
''appearance/textfield'',
2161
-
''appearance/menulist-button'',
2162
-
or one of the <<compat-auto>> values,
2163
-
UAs may disregard some CSS properties
2169
+
User agents may disregard some CSS properties
2170
+
on [=widgets=] rendered with their [=native appearance=]
2164
2171
to ensure that the intended appearance is preserved,
2165
2172
or because these properties may not be meaningful for the chosen appearance.
2166
2173
However, the following properties must not be disregarded:
@@ -2193,11 +2200,82 @@ so this specification needs to say something about this.
2193
2200
For compatibility with legacy content, UAs must also support <dfn property export>-webkit-appearance</dfn>
2194
2201
as a [=legacy name alias=] of 'appearance'.
2195
2202
2203
+
2204
+
<h4 id="appearance-disabling-properties">
2205
+
Properties Disabling Native Appearance</h4>
2206
+
2207
+
Certain properties, when declared in the [=Author Origin=] or [=Animation Origin=],
2208
+
will disable the [=native appearance=] of certain [=widgets=].
2209
+
Specifically,
2210
+
if all the declarations of the [=Author Origin=] and [=Animation Origin=]
2211
+
pertaining to such a [=widget=] are cascaded
2212
+
and a [=cascaded value=] exists--
2213
+
and is not ''revert'' or ''revert-level''--
2214
+
for any <a>property that disables native appearance for widgets</a>,
2215
+
then that [=widget=] is rendered as a <a>devolved widget</a>.
2216
+
The rendering of a <dfn export lt="devolved|devolved widget">devolved widget</dfn>
2217
+
is identical to that of the [=widget=] in its [=primitive appearance=],
2218
+
except when specified otherwise by the host language.
2219
+
2220
+
The host language defines
2221
+
which elements represent <dfn export lt="devolvable|devolvable widget">devolvable widgets</dfn>.
2222
+
Widgets whose appearance remains native
2223
+
regardless of any <a>properties that disable native appearance for widgets</a>
2224
+
are called <dfn export lt="non-devolvable|non-devolvable widget">non-devolvable widgets</dfn>.
2225
+
2226
+
The <dfn lt="property that disables native appearance for widgets|properties that disable native appearance for widgets">properties that disable native appearance for widgets</dfn> are:
2227
+
<ul>
2228
+
<li>'background-color'
2229
+
<li>'border-top-color'
2230
+
<li>'border-top-style'
2231
+
<li>'border-top-width'
2232
+
<li>'border-right-color'
2233
+
<li>'border-right-style'
2234
+
<li>'border-right-width'
2235
+
<li>'border-bottom-color'
2236
+
<li>'border-bottom-style'
2237
+
<li>'border-bottom-width'
2238
+
<li>'border-left-color'
2239
+
<li>'border-left-style'
2240
+
<li>'border-left-width'
2241
+
<li>'border-block-start-color'
2242
+
<li>'border-block-end-color'
2243
+
<li>'border-inline-start-color'
2244
+
<li>'border-inline-end-color'
2245
+
<li>'border-block-start-style'
2246
+
<li>'border-block-end-style'
2247
+
<li>'border-inline-start-style'
2248
+
<li>'border-inline-end-style'
2249
+
<li>'border-block-start-width'
2250
+
<li>'border-block-end-width'
2251
+
<li>'border-inline-start-width'
2252
+
<li>'border-inline-end-width'
2253
+
<li>'background-image'
2254
+
<li>'background-attachment'
2255
+
<li>'background-position'
2256
+
<li>'background-clip'
2257
+
<li>'background-origin'
2258
+
<li>'background-size'
2259
+
<li>'border-image-source'
2260
+
<li>'border-image-slice'
2261
+
<li>'border-image-width'
2262
+
<li>'border-image-outset'
2263
+
<li>'border-image-repeat'
2264
+
<li>'border-top-left-radius'
2265
+
<li>'border-top-right-radius'
2266
+
<li>'border-bottom-right-radius'
2267
+
<li>'border-bottom-left-radius'
2268
+
<li>'border-start-start-radius'
2269
+
<li>'border-start-end-radius'
2270
+
<li>'border-end-start-radius'
2271
+
<li>'border-end-end-radius'
2272
+
</ul>
2273
+
2196
2274
<h4 id=appearance-decorative>
2197
2275
Effects of 'appearance' on Decorative Aspects of Elements</h4>
2198
2276
2199
2277
All decorative visual aspects of a <a>widget</a> which are not caused by a CSS style rule
2200
-
must be suppressed when the appearance is changed using 'appearance',
2278
+
must be suppressed when the appearance is changed from [=native appearance|native=] to [=primitive appearance|primitive=]using 'appearance',
2201
2279
even if the UA's internal representation for this element
2202
2280
was composed of multiple elements or pseudo-elements combined together.
2203
2281
@@ -2227,7 +2305,9 @@ they intended.
2227
2305
<h4 id=appearance-semantics>
2228
2306
Effects of 'appearance' on Semantic Aspects of Elements</h4>
2229
2307
2230
-
UAs must preserve aspects of the <a>widget</a>
2308
+
When showing the [=primitive appearance=] of a [=widget=]
2309
+
or its [=devolved=] state,
2310
+
user agents must preserve aspects of the <a>widget</a>
2231
2311
which are necessary to operate the <a>widget</a> with its original semantics.
2232
2312
The UA may however give them a different look and feel
2233
2313
as long as it remains possible to operate the <a>widget</a>.
0 commit comments