00:11
<Domenic>
The spec changed from Promise<any> to object in https://github.com/whatwg/html/pull/9897. Referring to my just-written comment in https://github.com/whatwg/html/issues/10721#issuecomment-2436548874 , we lost (3) but gained (2) in that change.
10:47
<annevk>
It seems that Chrome and Safari have 2 and 3 today.
11:54
<sideshowbarker>

Any chance somebody’s around who understands the https://w3c.github.io/accname/#computation-steps spec and the test at https://github.com/web-platform-tests/wpt/blob/master/accname/name/comp_embedded_control.html and https://github.com/web-platform-tests/wpt/blob/master/wai-aria/scripts/aria-utils.js#L133 ?

What I don’t understand about the test is: Given the following:

<label>
  <input type="checkbox" data-expectedlabel="Flash the screen 3 times" data-testname="checkbox label with embedded textfield" class="ex">
  Flash the screen
  <input value="3" aria-label="number of times" data-expectedlabel="number of times" data-testname="label of embedded textfield inside checkbox label" class="ex"> times
</label>

…the test expects test_driver.get_computed_label() for that first input element to be Flash the screen 3 times.

But I don’t understand how, from the spec, the computed label for that input element ends up being the concatenation of:

  1. the Flash the screen text node that follows that input
  2. the value of the second input element
  3. the value of the times text node which follows the second input element

I mean, it seems like what that all instead would be is: the computed label for the label element that contains those other elements and those text nodes.

But that label element is not what the test is actually checking, as far as can see — the test is instead just checking, one by one, the computed label for each of the elements that have a class="ex" attribute. And not concatenating those.

But Gecko, WebKit, and Blink pass all those tests. So clearly, there must be something I’m missing

12:42
<sideshowbarker>

ah nevermind, I see now I just need to implement E. Host Language Label from the spec correctly — https://w3c.github.io/accname/#step2E:

if the current node's native markup provides an attribute (e.g. alt) or element (e.g. HTML label or SVG title) that defines a text alternative, return that alternative in the form of a flat string

since there’s a label wrapped around that input, the computed label is the that actual label textcontent

13:13
<zcorpan>
sideshowbarker the integration between accname and <hostlanguage>-aam are not great
13:18
<zcorpan>
sideshowbarker: though where does it say to use the value? i.e. where does the "3" come from? https://w3c.github.io/html-aam/#input-type-text-input-type-password-input-type-number-input-type-search-input-type-tel-input-type-email-input-type-url-and-textarea-element-accessible-name-computation
15:22
<Lea Verou>
Question: Certain elements, such as <li> or <option> are only permitted within certain element types. Should this perhaps be expanded to custom elements? Many use cases where a custom element may reasonably want to slot these, and currently they need to invent their own elements that mirror the API of these.
(I can file an issue, just wanted a sanity check)
16:00
<annevk>
Lea Verou: if there is no HTML parser weirdness that might be okay. Might be tricky to correctly update everything that needs to be updated (and find it all).
17:06
<Lea Verou>
Lea Verou: if there is no HTML parser weirdness that might be okay. Might be tricky to correctly update everything that needs to be updated (and find it all).
No need to do all at once, it could be done one at a time
17:11
<Lea Verou>
Lea Verou: if there is no HTML parser weirdness that might be okay. Might be tricky to correctly update everything that needs to be updated (and find it all).
Ok, issue filed: https://github.com/whatwg/html/issues/10722 Thanks!
19:02
<akaster>

Should specs be directly referencing the "promise-calling" concept in spec steps? WebDriver's Execute Script AO https://w3c.github.io/webdriver/#execute-script says:

  1. Let scriptPromise be the result of promise-calling execute a function body, with arguments body and arguments.

Reading into https://www.w3.org/2001/tag/doc/promises-guide#should-promise-call, which is linked from that step, it sounds like specification writers are supposed to 'achieve' promise calling, rather than telling implementers to make it happen?