[i18n-activity] Input profile name generation and normalization rules incomplete (#953)

aphillips has just created a new issue for https://github.com/w3c/i18n-activity:

== Input profile name generation and normalization rules incomplete ==
Input profile name
https://immersive-web.github.io/webxr/#xrinputsource-input-profile-name

> An input profile name is a lowercase DOMString containing no spaces, with separate words concatenated with a hyphen (-) character. A descriptive name should be chosen, using the prefered verbiage of the device vendor when possible. If the platform provides an appropriate identifier, such as a USB vendor and product ID, it MAY be used. Values that uniquely identify a single device, such as serial numbers, MUST NOT be used. The input profile name MUST NOT contain an indication of device handedness. If multiple user agents expose the same device, they SHOULD make an effort to report the same input profile name. The WebXR Input Profiles Registry is the recommended location for managing input profile names.

I have heartburn about the assumptions in these requirements. Making the string "lowercase" pulls in the complexity of case fold mapping to no apparent benefit (a very poor person's normalization?). It assumes that there are "words" and concatenates them with a hyphen. 

There is an implicit assumption that vendor names, product names, and product IDs are ASCII tokens, which might be correct for some or even most vendors. However, there is no reason why this needs to be the case and there are plenty of specifications, protocols, and formats that support a wide range of Unicode to the benefit of all. It should not matter if the string is rarely shown to end users, since the upstream tokens used to generate the value might very well be shown to users and may not have an obvious relationship to ASCII.

There are multiple ways to resolve this:

1. Convert the `input profile name` to an ASCII only token. Content and length rules should be clarified. It's likely that multiple hyphens or dangling hyphens are not intended to be allowed but the current specification is quiet on this topic.
2. Modify the `input profile name` to allow non-ASCII characters and remove the lowercase mapping. That is, the name is now just a DOMString with recommendations for what to put into the content.
3. Define a specific case fold mapping without restricting content to ASCII.

See here: https://www.w3.org/TR/charmod-norm/#identityMatching
Case folding is discussed here: https://www.w3.org/TR/charmod-norm/#definitionCaseFolding 

---
Instructions: 

Follow the process at https://w3c.github.io/i18n-activity/guidelines/review-instructions.html

1. **CREATE A PROPOSED REVIEW COMMENT BY REPLACING THE PROMPTS ABOVE THIS PARAGRAPH, BUT LEAVE THIS PARAGRAPH INTACT AS WELL AS THE TEXT BELOW IT** Then ask the i18n WG to review your comment.

2. After discussion with the i18n WG, raise this issue to the WG that owns the spec. Use the text above this para as the basis for that comment.

3. Replace the text 'link_to_issue_raised' below with a link to the place you raised the issue. Do NOT remove the initial '§ '.

4.  Edit this issue to remove this paragraph and ALL THE TEXT ABOVE IT. 



**This is a tracker issue.** Only discuss things here if they are i18n WG internal meta-discussions about the issue. **Contribute to the actual discussion at the following link:**


§ link_to_issue_raised


Please view or discuss this issue at https://github.com/w3c/i18n-activity/issues/953 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Monday, 10 August 2020 16:37:01 UTC