Skip to content

Commit

Permalink
Make Sec-CH-UA-Form-Factor a list, add meanings (#343)
Browse files Browse the repository at this point in the history
* Make Sec-CH-UA-Form-Factor a list, add meanings

This adds non-normative meanings for the suggested values.

* include entire list in note

* fix fatal error

* Update form-factor

 - Remove "VR" (as it is encompassed by XR)

 - Remove "TV" (as there is no current use-case for this value)

 - Include non-normative language around what a form-factor is and what
   the allowed values mean. This specifically refers to user
   interaction, as distinguished from screen-size or other physical
   aspects of the device.
  • Loading branch information
djmitche committed Sep 6, 2023
1 parent d937348 commit 6bcecb6
Showing 1 changed file with 32 additions and 7 deletions.
39 changes: 32 additions & 7 deletions index.bs
Original file line number Diff line number Diff line change
Expand Up @@ -552,18 +552,43 @@ The header's ABNF is:
The 'Sec-CH-UA-Form-Factor' Header Field {#sec-ch-ua-form-factor}
------------------------------

The <dfn http-header>`Sec-CH-UA-Form-Factor`</dfn> request header field gives a server information
about the [=user agent=]'s [=form-factor=]. It is a [=Structured Header=] whose value MUST be a
[=structured header/string=]. Its value SHOULD match one of the following common form-factor values:
"Automotive", "Mobile", "Tablet", "TV", "VR", "XR", "Unknown" or the empty string.
[[!RFC8941]].
The <dfn http-header>`Sec-CH-UA-Form-Factor`</dfn> request header field gives a
server information about the [=user agent=]'s [=form-factor=]. It is a
[=Structured Header=] whose value MUST be a [=structured header/list=]
[[!RFC8941]]. The header's values MUST be given in lexical order.

The header SHOULD describe the form-factor of the device using one or more of
the following common form-factor values: "Desktop", "Automotive", "Mobile",
"Tablet", or "XR". All applicable form-factor values SHOULD be included.

<div class="note" heading="">

The form-factor of a user-agent describes how the user interacts with the
user-agent. The meanings of the allowed values are:

* "Desktop" refers to a user-agent running on a personal computer.
* "Automotive" refers to a user-agent embedded in a vehicle, where the user
may be responsible for operating the vehicle and unable to attend to small
details.
* "Mobile" refers to small, touch-oriented device typically carried on a
user's person.
* "Tablet" refers to a touch-oriented device larger than "Mobile" and not
typically carried on a user's person.
* "XR" refers to immersive devices that augment or replace the environment
around the user.

A new value should be proposed and added to the specification when there is a
new form-factor that users interact with in a meaningfully different way; a
compelling use-case where sites would like to change how they interact with
users on that device; and no reliable way to identify that new form-factor
using existing hints.

Note: A "desktop" form-factor would be represented by the empty string.
</div>

The header's ABNF is:

~~~ abnf
Sec-CH-UA-Form-Factor = sf-string
Sec-CH-UA-Form-Factor = sf-list
~~~

The 'Sec-CH-UA-Full-Version' Header Field {#sec-ch-ua-full-version}
Expand Down

0 comments on commit 6bcecb6

Please sign in to comment.