<!-- DO NOT EDIT. This file has been generated. Source:
    ../tools/build-compute-kind-widget-fallback-props.py
-->
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Basic User Interface Test: Compute kind of widget: border-inline-end-width maybe disables native appearance for input-button</title>
<link rel="help" href="https://drafts.csswg.org/css-ui-4/#appearance-disabling-properties">
<link rel="help" href="https://html.spec.whatwg.org/#widgets">
<meta name="assert" content="appropriate widget is used when props includes border-inline-end-width.">
<link rel="match" href="../compute-kind-widget-fallback-input-button-ref.html">
<style>
    #container { width: 500px; }
    /* NOTE: This rule is only used in the search-text-input tests: */
    #container > #search-text-input { appearance: textfield; }
    /* NOTE: This rule is only used in the select-menulist-button tests: */
    #container > #select-menulist-button { appearance: none; appearance: menulist-button; }
</style>

<div id="container">
    <input id="button-input" type="button" value="input-button">
</div>

<script>
// Set author-level CSS that matches UA style, but don't use the 'revert' value.
const elements = document.querySelectorAll('#container > *');
const props = "border-inline-end-width".split(",");
for (const el of elements) {
  for (const prop of props) {
    el.style.setProperty(prop, getComputedStyle(el).getPropertyValue(prop));
  }
}
</script>
