Re: [i18n-drafts] [questions/qa-translate-flag] Empty string for the translate attribute (#528)

> I can't see a reason why a content author would need to know that a missing value will simply not change the current setting.

An empty value means `yes`, and no `translate` attribute means inheriting the `translate` attribute value of the parent element, so they are different.

> (Note btw that the blank string is called the 'missing value default' and the 'invalid value default', so i think it's also ok to say that there are only 2 values (even though, for the parser, there are 3 states).

I don't think that's the case. The empty string is a valid keyword. Note that the missing value default applies only when the attribute is missing, not when it is present with an empty string value. (See the second note in [HTML § 2.3.3 Keywords and enumerated attributes](https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#keywords-and-enumerated-attributes).) The 'invalid value default' state do not apply in this case either.

Many other HTML attributes have similar behaviour, and I've seen many content authors rely on this behaviour, since [attributes without a value are implied to be an empty string](https://html.spec.whatwg.org/multipage/syntax.html#attributes-2) by the HTML standard, like:

* People use `<a download>` for `<a download="">`
* People use `<input disabled>` for `<input disabled="">`

In this case, `<span translate>` <=> `<span translate="">` <=> `<span translate="yes">` ≠ `<span>`.

-- 
GitHub Notification of comment by xfq
Please view or discuss this issue at https://github.com/w3c/i18n-drafts/issues/528#issuecomment-1705913179 using your GitHub account


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

Received on Tuesday, 5 September 2023 03:59:43 UTC