1. 序論
◎非規範的[ ~web~browserが~vendorに特有な各種[ ~CSS~prop/~DOM~API ]を~supportすること ]に機能性や~layoutが依存するような,大量の~web内容が集積されてきている。 とりわけ、 ~mobileに最適化された~web内容のうち[ `-webkit-^css 接頭辞付き~propへの依存-度が高いもの ]は,これに該当する。 ◎ There exists an increasingly large corpus of web content that depends on web browsers supporting a number of specific vendor CSS properties and DOM APIs for functionality or layout. This holds especially true for mobile-optimized web content, which is highly dependent on -webkit--prefixed properties.
この仕様は、 各種[ `-webkit-^css 接頭辞付き~CSS~prop/ ~DOM~API ]のうち[ ~web互換性のために~supportすることが~UAに要求され,他所では指定されてないもの ]からなる必要最小限な集合について述べることを目指す。 ◎ This specification aims to describe the minimal set of -webkit--prefixed CSS properties and DOM APIs that user agents are required to support for web compatibility, which aren’t specified elsewhere.
~majorな~browserにて今日に見出される[ ~HTTP `User-Agent$h ~header ]も述べられる。 ◎ The HTTP User-Agent header field as found in major browsers today is also described.
2. 適合性
3. ~CSSとの互換性
3.1. 各種~CSS~at-規則
次に挙げる `-webkit-^css `~vendor接頭辞付き$`~at-規則$は、[ 各自に対応する接頭辞なし`~at-規則$の別名 ]として~supportするモノトスル: ◎ The following -webkit- vendor prefixed at-rules must be supported as aliases of the corresponding unprefixed at-rules:
`-webkit-^css 接頭辞付き~at-規則(別名) | 接頭辞なし~at-規則 |
---|---|
`-webkit-keyframes@at | `keyframes$at |
3.2. ~CSSの各種~媒体~query
3.2.1. `-webkit-device-pixel-ratio^d
◎述 `-webkit-device-pixel-ratio@d ◎用 `media$at ◎値 `number$t ◎型 `範囲~型$ ◎表終`-webkit-device-pixel-ratio$d は、 その値を,`dppx$css 単位として解釈する下で,[ `範囲~型$の`媒体~特能$ `resolution$d ]の別名として扱うモノトスル。 ◎ -webkit-device-pixel-ratio must be treated as an alias of the resolution range type media feature, with its value interpreted as a dppx unit.
範囲~型の媒体~特能に対する `min-^css / `max-^css 接頭辞 は、 `-webkit-device-pixel-ratio$d には適用しないモノトスル。 代わりに,次に挙げる別名を利用するモノトスル: ◎ The min- or max- prefixes on range features must not apply to -webkit-device-pixel-ratio, instead the following aliases must be used:
旧来の, `-webkit-^css 接頭辞付き, 範囲~型の`媒体~特能$(別名) | 標準な, `min-^css / `max-^css 接頭辞付き, 範囲~型の`媒体~特能$ |
---|---|
`-webkit-min-device-pixel-ratio@d | `min-resolution$d |
`-webkit-max-device-pixel-ratio@d | `max-resolution$d |
3.2.2. `-webkit-transform-3d^d
◎述 `-webkit-transform-3d@d ◎用 `media$at ◎値 `mq-boolean$t ◎型 `離散~型$ ◎表終`-webkit-transform-3d$d `媒体~特能$は、 ~UAが~CSS三次元変形を~supportするかどうかを~queryするために利用される。 `css-transforms-1$r ◎ The -webkit-transform-3d media feature is used to query whether the user agent supports CSS 3D transforms. [css-transforms-1]
その値は、[ ~UAは三次元変形を~supportするならば 1 / ~ELSE_ 0 ]になる。 ◎ If the user agent supports 3D transforms, the value will be 1. Otherwise the value is 0.
3.3. 各種~CSS~gradient関数
3.3.1. `-webkit-linear-gradient^f
`~gradient関数$ `-webkit-linear-gradient@f は、 `css3-images-20110217$r にて定義される `linear-gradient$f の別名として扱うモノトスル。 ◎ The -webkit-linear-gradient() gradient function must be treated as an alias of linear-gradient as defined in [css3-images-20110217].
3.3.2. `-webkit-radial-gradient^f
`~gradient関数$ `-webkit-radial-gradient@f は、 `css3-images-20110217$r にて定義される `radial-gradient$f の別名として扱うモノトスル。 ◎ The -webkit-radial-gradient() gradient function must be treated as an alias of radial-gradient as defined in [css3-images-20110217].
3.3.3. `-webkit-repeating-linear-gradient^f
`~gradient関数$ `-webkit-repeating-linear-gradient@f は、 `css3-images-20110217$r にて定義される `repeating-linear-gradient$f の別名として扱うモノトスル。 ◎ The -webkit-repeating-linear-gradient() gradient function must be treated as an alias of repeating-linear-gradient as defined in [css3-images-20110217].
3.3.4. `-webkit-repeating-radial-gradient^f
`~gradient関数$ `-webkit-repeating-radial-gradient@f は、 `css3-images-20110217$r にて定義される `repeating-radial-gradient$f の別名として扱うモノトスル。 ◎ The -webkit-repeating-radial-gradient() gradient function must be treated as an alias of repeating-radial-gradient as defined in [css3-images-20110217].
3.4. 各種~CSS~prop
3.4.1. 旧来の別名n
次に挙げる `-webkit-^css `~vendor接頭辞付き$~propは、 各自に対応する接頭辞なし~propの`旧来の別名n$として~supportするモノトスル。 ◎ The following -webkit- vendor prefixed properties must be supported as legacy name aliases of the corresponding unprefixed property:
`-webkit-^css 接頭辞付き~prop(別名) | 接頭辞なし~prop |
---|---|
`-webkit-align-items@p | `align-items$p |
`-webkit-align-content@p | `align-content$p |
`-webkit-align-self@p | `align-self$p |
`-webkit-animation-name@p | `animation-name$p |
`-webkit-animation-duration@p | `animation-duration$p |
`-webkit-animation-timing-function@p | `animation-timing-function$p |
`-webkit-animation-iteration-count@p | `animation-iteration-count$p |
`-webkit-animation-direction@p | `animation-direction$p |
`-webkit-animation-play-state@p | `animation-play-state$p |
`-webkit-animation-delay@p | `animation-delay$p |
`-webkit-animation-fill-mode@p | `animation-fill-mode$p |
`-webkit-animation@p | `animation$p |
`-webkit-backface-visibility@p | `backface-visibility$p |
`-webkit-background-clip@p | `background-clip$p |
`-webkit-background-origin@p | `background-origin$p |
`-webkit-background-size@p
本当は`旧来の別名n$ではない — `28$issue を見よ。 ◎ Not really a legacy name alias. See issue #28. | `background-size$p |
`-webkit-border-bottom-left-radius@p | `border-bottom-left-radius$p |
`-webkit-border-bottom-right-radius@p | `border-bottom-right-radius$p |
`-webkit-border-top-left-radius@p | `border-top-left-radius$p |
`-webkit-border-top-right-radius@p | `border-top-right-radius$p |
`-webkit-border-radius@p | `border-radius$p |
`-webkit-box-shadow@p | `box-shadow$p |
`-webkit-box-sizing@p | `box-sizing$p |
`-webkit-flex@p | `flex$p |
`-webkit-flex-basis@p | `flex-basis$p |
`-webkit-flex-direction@p | `flex-direction$p |
`-webkit-flex-flow@p | `flex-flow$p |
`-webkit-flex-grow@p | `flex-grow$p |
`-webkit-flex-shrink@p | `flex-shrink$p |
`-webkit-flex-wrap@p | `flex-wrap$p |
`-webkit-filter@p | `filter$p |
`-webkit-justify-content@p | `justify-content$p |
`-webkit-mask@p | `mask$p |
`-webkit-mask-box-image@p | `mask-border$p |
`-webkit-mask-box-image-outset@p | `mask-border-outset$p |
`-webkit-mask-box-image-repeat@p | `mask-border-repeat$p |
`-webkit-mask-box-image-slice@p | `mask-border-slice$p |
`-webkit-mask-box-image-source@p | `mask-border-source$p |
`-webkit-mask-box-image-width@p | `mask-border-width$p |
`-webkit-mask-clip@p | `mask-clip$p |
`-webkit-mask-composite@p | `mask-composite$p |
`-webkit-mask-image@p | `mask-image$p |
`-webkit-mask-origin@p | `mask-origin$p |
`-webkit-mask-position@p | `mask-position$p |
`-webkit-mask-repeat@p | `mask-repeat$p |
`-webkit-mask-size@p | `mask-size$p |
`-webkit-order@p | `order$p |
`-webkit-perspective@p | `perspective$p |
`-webkit-perspective-origin@p | `perspective-origin$p |
`-webkit-transform-origin@p | `transform-origin$p |
`-webkit-transform-style@p | `transform-style$p |
`-webkit-transform@p | `transform$p |
`-webkit-transition-delay@p | `transition-delay$p |
`-webkit-transition-duration@p | `transition-duration$p |
`-webkit-transition-property@p | `transition-property$p |
`-webkit-transition-timing-function@p | `transition-timing-function$p |
`-webkit-transition@p | `transition$p |
3.4.2. 接頭辞付きな旧来の別名n
次に挙げる `-webkit-^css `~vendor接頭辞付き$~propは、 各自に対応する接頭辞なし~propの`旧来の別名n$として~supportするモノトスル。 ~UAが接頭辞なしな等価を出荷していない場合、 `-webkit-^css 接頭辞付き~propは, ~UAの自前の~vendor接頭辞付き~propの別名として扱うモノトスル。 ◎ The following -webkit- vendor prefixed properties must be supported as legacy name aliases of the corresponding unprefixed properties. If the user agent does not ship the unprefixed equivalent, the -webkit- prefixed property must be treated as an alias of the user agent’s own vendor prefixed property.
`-webkit-^css 接頭辞付き~prop(別名) | (~vendor接頭辞付き)~prop |
---|---|
`-webkit-text-size-adjust@p | (-prefix-)`text-size-adjust$p
|
例えば `-webkit-text-size-adjust^p は、 ~Firefoxにおいては `-moz-text-size-adjust^p の 別名として扱われる。 ◎ For example, -webkit-text-size-adjust is treated as an alias of -moz-text-size-adjust in Firefox.
注記: 各~propは、 接頭辞を付与し得なくなり次第,`旧来の別名n$として定義し得るようになる ◎ Note: As soon as each property is unprefixable it can be defined as a legacy name alias.
3.4.3. 別名化されていない,~vendor接頭辞付き~prop
注記: この節は、 `-webkit-appearance$p ~propを指定していた。 これは、 今や `CSS-UI-4$r にて定義される。 ◎ Note: This section used to specify the -webkit-appearance property. This is now defined in CSS Basic User Interface Module.
3.4.4. ~propの対応付け
次に挙げる `-webkit-^css `~vendor接頭辞付き$~propは、 各自に対応する接頭辞なし~propに対応付けるように~supportするモノトスル: ◎ The following -webkit- vendor prefixed properties must be supported as mappings to the corresponding unprefixed property:
`-webkit-^css 接頭辞付き~prop | 接頭辞なし~prop |
---|---|
`-webkit-box-align@p | `align-items$p |
`-webkit-box-flex@p | `flex-grow$p |
`-webkit-box-ordinal-group@p | `order$p |
`-webkit-box-orient@p | `flex-direction$p |
`-webkit-box-pack@p | `justify-content$p |
これら `-webkit-box-*^p の定義は、 ~web互換でないことが既知である。 ( `87$issue ) ◎ These definitions of -webkit-box-* are known to not be web compatible.
3.4.5. ~keywordの対応付け
次に挙げる `-webkit-^css `~vendor接頭辞付き$~keywordは、 各自に対応する接頭辞なし~keywordに対応付けるように~supportするモノトスル: ◎ The following -webkit- vendor prefixed keywords must be supported as mappings to the corresponding unprefixed keyword:
`-webkit-^css 接頭辞付き~keyword | 接頭辞なし~propの~keyword |
---|---|
`-webkit-box@v | `flex$v |
`-webkit-flex@v | `flex$v |
`-webkit-inline-box@v | `inline-flex$v |
`-webkit-inline-flex@v | `inline-flex$v |
これら `-webkit-box-*^v 【 `-webkit-*^v ?】の定義は、 ~web互換でないことが既知である。 ( `87$issue ) ◎ These definitions of -webkit-box-* are known to not be web compatible.
【 これらの~keywordが,どの~prop用の値なのか言及されていないが、 表tの 2 列目に挙げられた~keywordは `display$p ~prop用の値を参照しているので, この要件が適用されるのは `display^p に限られると思われる。 】
3.4.6. ~textの~fillと~stroke
3.4.6.1. 前景~text色: `-webkit-text-fill-color^p ~prop
◎名 `-webkit-text-fill-color@p ◎値 `color$t ◎初 `currentcolor$v ◎適 すべての要素 ◎継 される ◎百 受容しない ◎算 ~RGBA色 ◎順 文法に従う ◎ア 算出d値の型による ◎表終`-webkit-text-fill-color$p ~propは、 要素の~text内容の前景`~fill$色を定義する。 ◎ The -webkit-text-fill-color property defines the foreground fill color of an element’s text content.
`-webkit-text-fill-color$p が要素の~textの前景~fill色を常に決定する例を示す: ◎ Here’s an example showing -webkit-text-fill-color will always determine the foreground fill color of an element’s text.
.one {
color: blue;
/*
次の宣言は、
初期~値を指定しているので省略できる:
◎
the following can be omitted because it’s the initial value:
-webkit-text-fill-color: currentcolor; */
}
.two {
color: red;
-webkit-text-fill-color: blue;
}
`one^css / `two^css ~classを伴う要素の~textは、 青くなる。 ◎ Elements with the one or two classes will have blue text.
3.4.6.2. ~text~stroke色: `-webkit-text-stroke-color^p ~prop
◎名 `-webkit-text-stroke-color@p ◎値 `color$t ◎初 `currentcolor$v ◎適 すべての要素 ◎継 される ◎百 受容しない ◎算 ~RGBA色 ◎順 文法に従う ◎ア 算出d値の型による ◎表終`-webkit-text-stroke-color$p ~propは、 要素の~textの`~stroke$色を指定する。 ◎ The -webkit-text-stroke-color property specifies a stroke color for an element’s text.
3.4.6.3. ~text~strokeの太さ: `-webkit-text-stroke-width^p ~prop
◎名 `-webkit-text-stroke-width@p ◎値 `line-width$t ◎初 `0^v ◎適 すべての要素 ◎継 される ◎百 受容しない ◎算 絶対~化された長さ ◎順 文法に従う ◎ア 離散的 ◎表終`-webkit-text-stroke-width$p ~propは、 要素の~textの各~glyphの辺に描かれる`~stroke$幅(太さ)を指定する。 値を 0 にすると,`~stroke$は塗られなくなる。 負な値は`無効$。 ◎ The -webkit-text-stroke-width property specifies the width of the stroke drawn at the edge of each glyph of an element’s text. A zero value results in no stroke being painted. A negative value is invalid.
3.4.6.4. ~text~stroke略式~prop: `-webkit-text-stroke^p ~prop
◎名 `-webkit-text-stroke@p ◎値 `line-width$t || `color$t ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 される ◎百 受容しない ◎算 個々の~propを見よ ◎順 文法に従う ◎ア 個々の~propを見よ ◎表終`-webkit-text-stroke$p ~propは、 要素の~textの[ `~stroke$幅, `~stroke$色 ]を設定するための,[ `-webkit-text-stroke-width$p, `-webkit-text-stroke-color$p ]下位prop用の略式~propである。 ◎ The -webkit-text-stroke property is a shorthand property for the -webkit-text-stroke-width and -webkit-text-stroke-color properties, for setting the stroke width and stroke color of an element’s text.
白く~fillされる~textに黒く~strokeする(縁取りする)効果を達成する 2 つの例を示す。 [ 1 個目の例では下位prop 2 個目の例では `-webkit-text-stroke$p 略式~prop ]を利用して,同じ結果を得る: ◎ Here are two examples showing how to use the longhand and shorthand -webkit-text-stroke properties to achieve white text with a black stroked text effect.
.stroked-text-longhand { color: #fff; -webkit-text-stroke-color: #000; -webkit-text-stroke-width: 1px; } .stroked-text-shorthand { -webkit-text-fill-color: #fff; -webkit-text-stroke: thin #000; }
これにより、 次の要素は: ◎ The element
<p class="stroked-text-longhand">Serious typography</p>
次のように描画されることになる: ◎ would be rendered as follows:
3.5. ~CSS~prop値
3.5.1. 追加的な `touch-action^p 値
この節では、 `pointerevents2$r による `touch-action$p の定義を増補する `pinch-zoom^v 値を追加する( `68$issue )。 ◎ This section augments the definition of touch-action from [pointerevents2] to add the pinch-zoom value.
◎名 `touch-action$p ◎値 `auto^v | `none^v | [ [ `pan-x^v | `pan-left^v | `pan-right^v ] || [ `pan-y^v | `pan-up^v | `pan-down^v ] || `pinch-zoom^v ] | `manipulation^v ◎表終【 この訳では、 定義~表tの必要な部位だけ示す。 全部的な定義~表tは、 ~link先を参照されたし。 】
`pinch-zoom^v を指定した場合、 複数の手指による~pageの~panningや~zoomingが可能化される。 ~zoomingが生じるためには、 【触れている】すべての手指が,[ `pinch-zoom^v の挙動が (自身または先祖における[ `pinch-zoom^v, `manipulation^v, `auto^v ]いずれかの値を介して) 可能化された要素 ]から開始されるモノトスル。 ◎ When specified, the pinch-zoom token enables multi-finger panning and zooming of the page. For zooming to occur, all fingers must start on an element that has the pinch-zoom behavior enabled (via one of the pinch-zoom, manipulation, or auto values on itself or an ancestor).
注記: 画像~回転台にて~panningを横方向だけ不能化したいと望むなら、 不必要に~zoomingが不能化されるのを避けるため, `touch-action^p に "`pan-y pinch-zoom^v" を利用できる。 ◎ Scenarios like image carousels which wish to disable only horizontal panning can use "touch-action: pan-y pinch-zoom" to avoid disabling zooming unnecessarily.
`manipulation^v は、 "`pan-x pan-y pinch-zoom^v" の別名である。 ◎ manipulation is an alias for "pan-x pan-y pinch-zoom".
4. ~DOMの互換性
4.1. `WebKitCSSMatrix^I ~interface
注記: `WebKitCSSMatrix$I は、 今や DOM Geometry `geometry-1$r 仕様にて定義された。 ◎ Note: WebKitCSSMatrix is now defined by the DOM Geometry specification. [geometry-1].
4.2. `window.orientation^c API
partial interface `Window$I { readonly attribute `short$ `orientation$m; attribute `EventHandler$I `onorientationchange@m; }; partial interface `HTMLBodyElement$I { attribute `EventHandler$I `onorientationchange@m; };
~UAは、 機器の`自然な方位$と異なる角度で表示域を描くときは,次を走らすモノトスル ⇒ `~eventを発火する$( 【当の`~navigable$にて】`作動中な~window$nav【!the Window object of the active document】, `orientationchange@et ) ◎ Whenever the viewport is drawn at a different angle compared to the device’s natural orientation, the user agent must run the following steps: • Fire an event named orientationchange at the Window object of the active document.
`orientation$m 属性, および それに結付けられた `orientationchange$et ~eventを実装している~UAは、 非~mobile~platformには,それらを公開しないモノトスル。 ◎ User agents implementing the window.orientation attribute and its associated orientationchange event must not expose them on non-Mobile platforms.
注記: ~iOS~Safariも `body$e 要素に向けて `orientationchange^et ~eventを発火するが、 他の実装は発火しない — したがって,~webとの互換性には必要yでないことになる。 ◎ iOS Safari also fires an orientationchange event on the body element, but other implementations do not, suggesting it’s not necessary for compatibility with the web.
4.2.1. `window.orientation^c 角度
`orientation$m 属性が返す整数~値は、[ −90, 0, 90, 180 ]いずれかになる。 ~UAは、 これらの値のうち ⇒# −90, 0, 90 は,~supportするモノトスル/ 180 を~supportしてもヨイ ◎ The possible integer values for the window.orientation angle are: -90, 0, 90, 180. User agents must support the -90, 0 and 90 values and may optionally support 180.
注記: 0 は、 `自然な方位$を表現する。 [ 90 / 180 / −90 ]は、 `自然な方位$から反時計回りに[ 90 度t / 180 度t / 270 度t ]の回転を表現する。 ◎ 0 represents the natural orientation. -90 represents a rotation 90 degrees clockwise from the natural orientation. 90 represents a rotation 90 degrees counterclockwise from the natural orientation. 180 represents a rotation 180 degrees from the natural orientation.
~UAは,現在の `window.orientation$m 角度を決定するときは、 次の手続きを走らすモノトスル:
- %方位~角度 ~LET `現在の方位~角度$
- ~Assert: %方位~角度 ~IN { 0, 90, 180, 270 }
- ~IF[ %方位~角度 ~EQ 270 ] ⇒ ~RET −90
- ~IF[ %方位~角度 ~EQ 180 ]~AND[ `~UA$は値 180 を~supportしない ] ⇒ ~RET 0
- ~RET %方位~角度
4.2.2. `Window^I ~obj / `body^e 要素~上の~event~handler
すべての[ `Window$I ~obj / `body$e 要素 ]は、[ 次に挙げる~event~handler, および 各自に対応する~event~handler~event型 ]を属性として~supportするモノトスル: ◎ The following are the event handlers and their corresponding event handler event types that must be supported on all Window objects and body elements as attributes:
`~event~handler$ | `~event~handler~event型$ |
---|---|
`onorientationchange$m | `orientationchange$et |
5. ~User-Agent文字列
`User-Agent$h ~headerの構文は、 正式には `HTTP-SEMANTICS$r により定義され, その値に対し “ベキ” ~levelの指導を供する。 この節は,[ いわゆる~majorな~web~browserにて見出される~User-Agent~pattern† ]の記述的な記録として~serveするが、 その多くは,同じ遺産を共有する他の~browser (すなわち、 枝分かれしたものや, 埋込んでいるもの( `forks and embedders^en )) にも — より一般なイミにおいては、 `User-Agent$h `~header$を送信する どの`~UA$にも — 適用されることになる。 ◎ The User-Agent header field syntax is formally defined by [HTTP-SEMANTICS] and provides SHOULD-level guidance on its value. This section serves as a descriptive record of the User-Agent patterns found in the so-called major web browsers, but much of it will apply to other browsers with a shared heritage (i.e., forks and embedders) as well as any user agent in the more general sense that send a User-Agent header.
【† 以下の各節に示される~patternは、 一行に収まらないときは,自動改行して呈示される (改行文字を含むわけではない)。 ~pattern内に現れる~space文字は、 そのまま ~User-Agent文字列に含まれる (どの~patternも、先頭や末尾に~spaceは現れない)。 】
5.1. ~User-Agent~token
~User-Agent `~token@ は、[ ~User-Agent文字列~内の各種 意味論上の単位 ]に対する抽象-化を表現する。 この文書は、 各種`~token$を[ 山括弧 "<" と ">" で括られた`文字列$ ](例: `version^tk )として正式~化する。 `~token$は、 他の`~token$を包含し得る。 ◎ A User-Agent token is a string that represents an abstraction over a semantic unit in the User-Agent string. This document formalizes a token as a string that begins with an opening bracket "<" and ends with a closing ">" bracket, e.g., <version>. A token may also contain other tokens.
~User-Agent文字列の変化しない部分を成す`文字列$は、 `一定@ であるという。 ◎ A User-Agent constant is a string whose value does not change.
`~token$の値は、[ 1 個以上の`~token$, 0 個以上の`一定$な`文字列$ ]が成す 2 個以上の何かからなるならば, それらに `分解-@ されるという。 ◎ When a token’s value is made up from one or more tokens, and optionally constants, it is said to decompose to those tokens and constants.
5.1.1. ~User-Agent~token参照
以下に,共通的な~User-Agent`~token$を挙げる — これらは、 網羅的ではない。 ◎ This is a non-exhaustive list of common User-Agent tokens.
~token ◎ Tokens | 記述 ◎ Description |
---|---|
`deviceCompat@tk | 機器の形態を表現する。 これは首に、 `Mobile ^l, あるいは[ ~desktopを含む【!Desktop or】非~mobile ]機器~用には空~文字列になる。 一部の~browserでは、[ `Tablet^l, `TV^l, `Mobile VR^l, 等々 ]などの~token値も送信されたり, ~build情報も含まれる。 ◎ Represents the form-factor of the device. Primarily this is "Mobile ", or just the empty string, for Desktop or non-mobile devices. Some browsers have also sent token values such as "Tablet", "TV", "Mobile VR", etc., or included build information as well. |
`majorVersion@tk | ~browserの~major~version番号を表現する。 ◎ Represents the browser’s major version number. |
`minorVersion@tk | ~browserの非~major~version番号を表現する。 ◎ Represents the browser’s non-major version numbers. |
`oscpu@tk | 機器~OSと~CPU~architecture(後者は省略可能) を表現する。 ◎ Represents the device operating system and (optionally) CPU architecture. |
`platform@tk | 下層の機器~platformを表現する。 ◎ Represents the underlying device platform. |
5.2. ~meta構造
~User-Agent文字列【!that follow】は、 共通な~meta構造を共有する: ◎ The User-Agent strings that follow share the common meta structure:
Mozilla/5.0 (%a) %b
ここで: ◎ Where\
- %a は機器~情報を表現している 1 個以上の`~token$ ◎ a is one or more tokens representing device information and\
- %b は~browser情報を表現している 1 個以上の`~token$ ◎ b is one or more tokens representing browser information.
5.3. ~Chrome
5.3.1. ~Chromeの~User-Agent~pattern
Mozilla/5.0 (`unifiedPlatform$tk) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/`majorVersion$tk.0.0.0 `deviceCompat$tk`Safari^/537.36
- ~desktop ◎ Desktop:\
- `Mozilla/5.0 (<Macintosh; Intel Mac OS X 10_15_7>) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<110>.0.0.0 Safari/537.36^lmk
- ~mobile ◎ Mobile:\
- `Mozilla/5.0 (<Linux>; Android <10>; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<110>.0.0.0 <Mobile> Safari/537.36^lmk
5.3.2. ~Chromeに特有な~token
~token | 記述 |
---|---|
`unifiedPlatform@tk | ~platformごとに`一定$な,次に挙げるいずれか ⇒# `Linux; Android 10; K^l, `Windows NT 10.0; Win64; x64^l, `Macintosh; Intel Mac OS X 10_15_7^l, `X11; Linux x86_64^l, `X11; CrOS x86_64 14541.0.0^l, `Fuchsia^l |
5.4. ~Firefox
5.4.1. ~Firefoxの~User-Agent~pattern
Mozilla/5.0 (`firefoxPlatform$tk; rv: `firefoxVersion$tk) Gecko/`geckoVersion$tk Firefox/`firefoxVersion$tk
- ~desktop ◎ Desktop:\
- `Mozilla/5.0 (<Windows NT 10.0>; <Win64; x64;> rv:<100>.0) Gecko/20100101 Firefox/100.0^lmk
- ~mobile ◎ Mobile:\
- `Mozilla/5.0 (<Android 10>; <Mobile;> rv:<100>.0) Gecko/<100>.0 Firefox/<100>.0^lmk
5.4.2. ~Firefoxに特有な~token
`firefoxVersion@tk は、 次のように`分解-$される: ◎ <firefoxVersion> decomposes to the following:
`majorVersion$tk.0
`geckoVersion@tk は: ◎ ↓
- ~desktop~platform( Windows, macOS, Linux, 等々)上の~Firefoxにおいては ⇒ ~build日付 `20100101^l に凍結された。 ◎ In Firefox on desktop platforms (Windows, macOS, Linux, etc.), <geckoVersion> is the frozen build date "20100101".\
- ~Android用の~Firefoxにおいては ⇒ `firefoxVersion$tk と同じ値になる。 ◎ In Firefox for Android, <geckoVersion> is the same value as <firefoxVersion>.
`firefoxPlatform@tk は、 次のように`分解-$される: ◎ <firefoxPlatform> decomposes to the following:
-
~desktop~platformにおいては:
`platform$tk; `oscpu$tk
◎ On desktop platforms, "<platform>; <oscpu>". -
~Android用の~Firefoxにおいては:
`platform$tk; `firefoxDeviceCompat$tk
◎ On Firefox for Android, "<platform>; <deviceCompat>".
~token | 記述 |
---|---|
`firefoxDeviceCompat@tk † | 文字列 `Mobile^l — 先頭にも末尾にも~spaceを伴わない |
【† 原文では, `deviceCompat$tk と同じ名前にされているが、 この訳では `firefoxDeviceCompat$tk に改める — これらは、 意味は同様でも,定義は異なる別々な用語なので。 】
5.5. ~Safari
5.5.1. ~Safari~User-Agent~pattern
Mozilla/5.0 (`safariPlatform$tk) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/`safariVersion$tk`deviceCompat$tk`Safari^/`webkitVersion$tk
- ~desktop ◎ Desktop:\
- `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/<15.6> Safari/<605.1.15>^lmk
- ~mobile ◎ Mobile:\
- `Mozilla/5.0 (<iPhone>; CPU <iPhone OS> <15_6> like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/<15.6> <Mobile/15E148> Safari/<604.1>^lmk
5.5.2. ~Safariに特有な~token
`safariVersion@tk は、 次のように`分解-$される: ◎ <safariVersion> decomposes to the following:
`majorVersion$tk.`minorVersion$tk
この `minorVersion$tk は、 1 個の数字からなる。 ◎ \, where <minorVersion> is a single digit.
`safariPlatform@tk は、 次のように`分解-$される: ◎ <safariPlatform> decomposes to the following:
-
~desktop(大きめな~iPad形態も含む)においては、 `一定$になる:
Macintosh; Intel Mac OS X 10_15_7
◎ On desktop and larger iPad form factors, the constant "Macintosh; Intel Mac OS X 10_15_7". -
~mobile(小さめな~iPad形態も含む)においては:
`appleProduct$tk CPU `mobileOSName$tk `iOSVersion$tk like Mac OS X
◎ On mobile platforms, including smaller iPad form factors "<appleProduct>; CPU <mobileOSName> <iOSVersion> like Mac OS X".
~token | 記述 |
---|---|
`appleProduct@tk | 次に挙げるいずれか — ~mobile機器の販売向け製品~名を表現する ⇒ `iPad^l / `iPhone^l / `iPod^l |
`iOSVersion@tk | ~underscoreで区切られた iOS ~version番号を表現する (歴史的な互換性の理由のためにある) |
`mobileOSName@tk |
次に挙げる`一定$な値のうち,いずれか:
|
`webkitVersion@tk |
次に挙げる`一定$な値のうち,いずれか:
|
謝辞
次の方々による,この標準への~feedbackと貢献に謝意を:
`_acks1@`ScreenOrientation$I ~interface `screen-orientation$r を定義された `Mounir Lamouri^en, `Marcos Cáceres^en 両氏に。 ◎ Thanks to Mounir Lamouri and Marcos Cáceres for defining the ScreenOrientation interface. [screen-orientation]
この仕様に定義されている内容のかなりの部分を占める初期の記述を供された Apple, および WebKit.org のブログ著者に特別な謝意を。 ◎ Special thanks to Apple and the WebKit.org blog authors for providing initial descriptions of much of the content defined in this specification.
This standard is written by Mike Taylor (Google, miketaylr@google.com).