Chose DOMString for a few reasons, primarily some technical differences 
between Boolean and Enumerated attributes.

The intent is for this attribute to be opt-out, i.e., true by default and 
developers may specify when handwriting should not be available.
Additionally this attribute will be inherited, so developers could specify 
handwriting="false" on the lowest common ancestor to affect a subtree of 
content.

This behavior mirrors recent work regarding the "writingSuggestions 
<https://html.spec.whatwg.org/#dom-writingsuggestions>" attribute.

---

Boolean attribute <https://html.spec.whatwg.org/#boolean-attributes>:
Specifying the attribute always evaluates to *true*. It's only possible to 
have a value of *false* by omitting the attribute.

This makes it impossible to implement an inheritance-like behavior, and 
would require the attribute to either be an opt-in (developers need to 
specify handwriting on all inputs), or to rename it so it reads as an 
opt-out attribute (e.g., disableHandwriting) and specify on all inputs that 
shouldn't have handwriting.

Keywords "true", "false", "on", "off" are not valid for boolean attributes.

Enumerated attribute 
<https://html.spec.whatwg.org/#keywords-and-enumerated-attributes>:
Is much more flexible than Boolean attributes, may specify "true" / "false" 
keywords, and may specify behavior for "missing value default" and "invalid 
value default".
This makes it possible to implement both "true by default" and inheritance 
in the attribute specification.

On Tuesday, July 30, 2024 at 10:28:00 AM UTC-7 Gregg Tavares wrote:

> I'm just curious. Why is it a DOMString and not a boolean? I didn't see 
> that in the explainer
>
>
>
> On Mon, Jul 29, 2024 at 12:00 PM Chromestatus <
> ad...@cr-status.appspotmail.com> wrote:
>
>> Contact emails adam.ett...@microsoft.com 
>>
>> Explainer 
>> https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Handwriting/explainer.md
>>  
>>
>> Specification None 
>>
>> Summary 
>>
>> This feature provides a standard mechanism to indicate whether an element 
>> or its subtree should allow user agent handwriting input. User agents that 
>> support handwriting recognition as a means to input text using a pen/stylus 
>> will behave differently than a user agent that doesn't support handwriting. 
>> However, this handwriting may not be desirable for all supported input 
>> fields. By specifying the HTML handwriting attribute, authors can indicate 
>> when the user agent should not allow handwriting.
>>
>>
>> Blink component UI>Input>Text 
>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:UI%3EInput%3EText>
>>  
>>
>> Motivation 
>>
>> To disable handwriting input without this feature, developers would need 
>> to use preventDefault() on pen touch events, assuming that was an option 
>> for the user agent implementation of handwriting input. Android uses a 
>> non-standard `touch-action` configuration to disable handwriting input, 
>> this proposal will provide a standardized mechanism.
>>
>>
>> Initial public proposal None 
>>
>> TAG review None 
>>
>> TAG review status Pending 
>>
>> Risks 
>>
>>
>> Interoperability and Compatibility 
>>
>> None
>>
>>
>> *Gecko*: No signal 
>>
>> *WebKit*: No signal 
>>
>> *Web developers*: No signals 
>>
>> *Other signals*: 
>>
>> WebView application risks 
>>
>> Does this intent deprecate or change behavior of existing APIs, such that 
>> it has potentially high risk for Android WebView-based applications?
>>
>> None
>>
>>
>> Debuggability 
>>
>> None
>>
>>
>> Is this feature fully tested by web-platform-tests 
>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>> ? No 
>>
>> Flag name on chrome://flags None 
>>
>> Finch feature name None 
>>
>> Non-finch justification None 
>>
>> Requires code in //chrome? False 
>>
>> Estimated milestones 
>>
>> No milestones specified
>>
>>
>> Link to entry on the Chrome Platform Status 
>> https://chromestatus.com/feature/5186620366782464?gate=5076052179943424 
>>
>> This intent message was generated by Chrome Platform Status 
>> <https://chromestatus.com>. 
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "blink-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to blink-dev+...@chromium.org.
>> To view this discussion on the web visit 
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/000000000000faa1ae061e677989%40google.com
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/000000000000faa1ae061e677989%40google.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ff103bed-ca33-4440-9506-768c91495247n%40chromium.org.

Reply via email to