From 40a566521543a594117e61d03ed950fa4174fb51 Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Tue, 18 Jul 2023 14:49:42 +0000 Subject: [PATCH 1/4] Make Sec-CH-UA-Form-Factor a list, add meanings This adds non-normative meanings for the suggested values. --- index.bs | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/index.bs b/index.bs index 87541b7..d293d2d 100644 --- a/index.bs +++ b/index.bs @@ -552,18 +552,33 @@ The header's ABNF is: The 'Sec-CH-UA-Form-Factor' Header Field {#sec-ch-ua-form-factor} ------------------------------ -The `Sec-CH-UA-Form-Factor` 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]]. - -Note: A "desktop" form-factor would be represented by the empty string. +The `Sec-CH-UA-Form-Factor` 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]]. Its values SHOULD describe the form-factor of the device using +one or more of the following common form-factor values: "Desktop", +"Automotive", "Mobile", "Tablet", "TV", "VR", or "XR". Order of the values +in the list is not significant. + +Note: The form-factor of a device describes how the user interacts with the +device. + * "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. + * "TV" refers to a large, multi-user device desiged primarily for viewing videos. + * "VR" refers to an immersive, gesture-oriented device. + * "XR" is similar to "VR" but includes devices that integrate with the + environment around the user. 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} From 0cd2f5d230bfe715af762076effa32bb885711c3 Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Tue, 18 Jul 2023 23:13:31 +0000 Subject: [PATCH 2/4] include entire list in note --- index.bs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.bs b/index.bs index d293d2d..0abb2aa 100644 --- a/index.bs +++ b/index.bs @@ -560,7 +560,8 @@ one or more of the following common form-factor values: "Desktop", "Automotive", "Mobile", "Tablet", "TV", "VR", or "XR". Order of the values in the list is not significant. -Note: The form-factor of a device describes how the user interacts with the +
+The form-factor of a device describes how the user interacts with the device. * "Desktop" refers to a user-agent running on a personal computer. * "Automotive" refers to a user-agent embedded in a vehicle, where the user @@ -574,6 +575,7 @@ device. * "VR" refers to an immersive, gesture-oriented device. * "XR" is similar to "VR" but includes devices that integrate with the environment around the user. +
The header's ABNF is: From 3624dfcf1c714654a5f0f3f53f3323ec1da7d712 Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Tue, 18 Jul 2023 23:14:46 +0000 Subject: [PATCH 3/4] fix fatal error --- index.bs | 1 + 1 file changed, 1 insertion(+) diff --git a/index.bs b/index.bs index 0abb2aa..b85c213 100644 --- a/index.bs +++ b/index.bs @@ -575,6 +575,7 @@ device. * "VR" refers to an immersive, gesture-oriented device. * "XR" is similar to "VR" but includes devices that integrate with the environment around the user. + The header's ABNF is: From 27cf93c58cbfe808db92a4b9e97f8be975f2ebf4 Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Wed, 23 Aug 2023 21:35:33 +0000 Subject: [PATCH 4/4] 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. --- index.bs | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/index.bs b/index.bs index b85c213..5f895f3 100644 --- a/index.bs +++ b/index.bs @@ -555,14 +555,17 @@ The 'Sec-CH-UA-Form-Factor' Header Field {#sec-ch-ua-form-factor} The `Sec-CH-UA-Form-Factor` 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]]. Its values SHOULD describe the form-factor of the device using -one or more of the following common form-factor values: "Desktop", -"Automotive", "Mobile", "Tablet", "TV", "VR", or "XR". Order of the values -in the list is not significant. +[[!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.
-The form-factor of a device describes how the user interacts with the -device. + +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 @@ -571,10 +574,14 @@ device. user's person. * "Tablet" refers to a touch-oriented device larger than "Mobile" and not typically carried on a user's person. - * "TV" refers to a large, multi-user device desiged primarily for viewing videos. - * "VR" refers to an immersive, gesture-oriented device. - * "XR" is similar to "VR" but includes devices that integrate with the - environment around the user. + * "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.