1. 14 XML構文

14 XML構文

HTML/XHTML

Support in all current engines.

Firefox2+Safari3.1+Chrome4+
Opera9+Edge79+
Edge (Legacy)12+Internet Explorer9+
Firefox Android4+Safari iOS2+Chrome Android18+WebView Android2+Samsung Internet1.0+Opera Android10.1+

このセクションは、XMLリソースに関する規則についてのみ説明する。text/htmlリソースに関する規則は、"HTML構文"と題された前述のセクションで説明される。

HTMLのためのXML構文は、以前に"XHTML"と呼ばれていたが、この仕様ではその用語を使用しない(他にも理由はあるが、MathMLやSVGのHTML構文にそのような用語は使用されないため)。

XML構文は、XMLのXMLおよびNamespaces in XMLで定義されている。[XML] [XMLNS]

この仕様は、XMLに対して完全に定義されるものを超えるいかなる構文レベルの要件も定義しない。

XML文書は必要に応じてDOCTYPEが含んでもよいが、DOCTYPEはこの仕様に適合する必要はない。この仕様は、公開またはシステム識別子を定義せず、公式なDTDも提供しない。

XMLによれば、XMLプロセッサはDOCTYPEで参照される外部DTDサブセットを処理することを保証しない。たとえば、(<>&"'を除く)実体参照が外部ファイルで定義される場合、これは、XML文書で文字に対して実体参照を使用することが危険であることを意味する。

The following styles are expected to apply to select elements when they are being rendered as a drop-down box with base appearance:

@namespace "http://www.w3.org/1999/xhtml";

select {
  text-transform: initial;
  text-align: initial;
  text-indent: initial;
  background-color: transparent;
  border: 1px solid currentColor;
  padding-block: 0.25em;
  padding-inline: 0.5em;
  min-block-size: calc-size(auto, max(size, 24px, 1lh));
  min-inline-size: calc-size(auto, max(size, 24px));
  display: inline-flex;
  gap: 0.5em;
  border-radius: 0.5em;
  user-select: none;
  box-sizing: border-box;
  field-sizing: content !important;
}

select > button:first-child {
  all: unset;
  display: contents;
}

select:enabled:hover,
select option:enabled:hover {
  background-color: color-mix(in lab, currentColor 10%, transparent);
}
select:enabled:active,
select option:enabled:active {
  background-color: color-mix(in lab, currentColor 20%, transparent);
}
select:disabled,
select option:disabled {
  color: color-mix(in lab, currentColor 50%, transparent);
}

::picker(select) {
  box-sizing: border-box;
  border: 1px solid;
  padding: 0;
  color: CanvasText;
  background-color: Canvas;
  margin: 0;
  inset: auto;
  min-inline-size: anchor-size(self-inline);
  max-block-size: stretch;
  overflow: auto;
  position-area: block-end span-inline-end;
  position-try-order: most-block-size;
  position-try-fallbacks:
    block-start span-inline-end,
    block-end span-inline-start,
    block-start span-inline-start;
}

select option {
  min-inline-size: 24px;
  min-block-size: max(24px, 1lh);
  padding-inline: 0.5em;
  padding-block-end: 0;
  display: flex;
  align-items: center;
  gap: 0.5em;
  white-space: nowrap;
}

select option::checkmark {
  content: '\2713' / '';
}
select option:not(:checked)::checkmark {
  visibility: hidden;
}

select::picker-icon {
  content: counter(fake-counter-name, disclosure-open);
  display: block;
  margin-inline-start: auto;
}

select optgroup {
  font-weight: bolder;
}

select optgroup option {
  font-weight: normal;
}

select optgroup legend {
  padding-inline: 0.5em;
  min-block-size: 1lh;
}