[webauthn] Dictionary members should be ordered lexicographically per Web IDL Standard (#2083)

zacknewman has just created a new issue for https://github.com/w3c/webauthn:

== Dictionary members should be ordered lexicographically per Web IDL Standard ==
Per Web IDL Standard:

> The order of the [dictionary members](https://webidl.spec.whatwg.org/#dfn-dictionary-member) on a given dictionary is such that inherited dictionary members are ordered before non-inherited members, and the dictionary members on the one dictionary definition (including any partial dictionary definitions) are ordered lexicographically by the Unicode codepoints that comprise their identifiers.
>
> ```js
> dictionary B : A {
>   long b;
>   long a;
> };
>
> dictionary A {
>   long c;
>   long g;
> };
>
> dictionary C : B {
>   long e;
>   long f;
> };
>
> partial dictionary A {
>   long h;
>   long d;
> };
> ```
> the order of the [dictionary members](https://webidl.spec.whatwg.org/#dfn-dictionary-member) of > a dictionary value of type `C` is `c`, `d`, `g`, `h`, `a`, `b`, `e`, `f`.

This means that while dictionary definitions in the spec are fine since the order of members only applies to _values_ of the dictionary, most of the payloads I have seen in the "wild" simply follow the order of the definitions. Here is an [example](https://www.w3.org/TR/webauthn-3/#example-838c9f88) in the spec itself that violates Web IDL. If the dictionary definitions were ordered the way values must be ordered though, then I believe implementations will be less likely to violate the Web IDL Standard.

Please view or discuss this issue at https://github.com/w3c/webauthn/issues/2083 using your GitHub account


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

Received on Wednesday, 12 June 2024 18:08:22 UTC