-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add User Experience requirements section describing permissions display requirements #411
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5025,6 +5025,83 @@ <h2>Examples</h2> | |
</pre> | ||
</div> | ||
</section> | ||
<section> | ||
<h1>User Experience Requirements</h1> | ||
<p>For each <var>device</var> for which there is a | ||
[[\devicesAccessibleMap]]<var>[device]</var> internal slot, | ||
define <var><device>Accessible</var> to be On whenever the | ||
slot has a value of true and Off otherwise.</p> | ||
<p>For each <var>device</var> for which there is a | ||
[[\devicesLiveMap]]<var>[device]</var> internal slot, | ||
define <var><device>Live</var> to be On whenever the | ||
slot has a value of true and Off otherwise.</p> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The indexes must be deviceIds the way it's currently written. Also, slots shouldn't ever be absent if we filter the same way as in 9.2, e.g.: "For each individual device that getUserMedia() exposes, using the device's deviceId,
|
||
<p>For each <var>kind</var> of device that <a>getUserMedia()</a> | ||
exposes,</p> | ||
<ul> | ||
<li>Define <var><kind>Accessible</var> to be On | ||
whenever <var><device>Accessible</var> is On for | ||
any <var>device</var> of that <var>kind</var>, On whenever | ||
[[\kindsAccessibleMap]]<var>[kind]</var> is true, and Off | ||
otherwise.</li> | ||
<li>Define <var><kind>Live</var> to be On | ||
whenever <var><device>Live</var> is On for | ||
any <var>device</var> of that <var>kind</var> and | ||
Off otherwise.</li> | ||
</ul> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Everything up to here is 1-1 renaming of names ( I mention this because there are a lot of states to keep track of. I know the existing state terms are hideous, but they're more well-defined than the replacements (I worry we need to explain the |
||
<p>Define <var>Accessible</var> to be On | ||
whenever <var><kind>Accessible</var> is On for | ||
any <var>kind</var> and Off otherwise.</p> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could we rename Accessible as Any-Accessible, to separate it more visually from all the other Accessibles? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We'd need to do the same thing for Live then. |
||
<p>Define <var>Live</var> to be On | ||
whenever <var><kind>Live</var> is On for | ||
any <var>kind</var> and Off otherwise.</p> | ||
<p>Then the following are requirements on the User Agent:</p> | ||
<ul> | ||
<li>The User Agent MUST indicate to the user when the value | ||
of <var>Accessible</var> changes.</li> | ||
<li>The User Agent MUST indicate to the user when the value | ||
of <var>Live</var> changes.</li> | ||
<li>If the User Agent provides any indication of Accessible or | ||
Live to the user per <var>kind</var>, then for each such | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Accessible or Live per kind" and "Accessible or Live per device" are a bit confusing, when Accessible and Live are the union states. Is there another way to say this? |
||
value at a minimum it MUST indicate when the value | ||
changes.</li> | ||
<li>If the User Agent provides any indication of Accessible or | ||
Live to the user per <var>device</var>, then for each such | ||
value at a minimum it MUST indicate when the value | ||
changes.</li> | ||
<li>Any off-to-on transition MUST remain observable for a | ||
sufficient time that a reasonably-observant user could become | ||
aware of it.</li> | ||
<li>Any of the above indications MAY be combined as long as | ||
the combined indication cannot transition to off if any of its | ||
component indications are still on.</li> | ||
</ul> | ||
<p>and the following are encouraged behaviors for the User Agent:</p> | ||
<ul> | ||
<li>The User Agent is encouraged to provide ongoing indication | ||
of the current state of <var>Accessible</var>.</li> | ||
<li>The User Agent is encouraged to provide ongoing indication | ||
of the current state of <var>Live</var> and to make any generic | ||
hardware device indicator light match.</li> | ||
<li>If the User Agent provides any indication | ||
of <var>Accessible</var> or <var>Live</var> to the user | ||
per <var>kind</var>, it is encouraged to provide ongoing | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Accessible and Live are italicized here, implying the union states are being referenced here, which seems wrong. These can be concepts or states but not both. |
||
indication of the current state of each such value. It is | ||
encouraged to make any device-type-specific hardware indicator | ||
light match the corresponding <var><kind>Live</var> | ||
value.</li> | ||
<li>If the User Agent provides any indication | ||
of <var>Accessible</var> or <var>Live</var> to the user | ||
per <var>device</var>, it is encouraged to provide ongoing | ||
indication of the current state of each such value. It is | ||
encouraged to make any device-specific hardware indicator light | ||
match the corresponding <var><device>Live</var> | ||
value.</li> | ||
<li>Any optional ongoing indication MAY be used instead of the | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. s/optional/of these/ ? |
||
corresponding required transition indication provided the | ||
off-to-on transition requirement is met.</li> | ||
</ul> | ||
</section> | ||
|
||
<section> | ||
<h1>Privacy and Security Considerations</h1> | ||
<p>This section is non-normative; it specifies no new behavior, but instead | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we call this something without UX in it, since we've worked hard to take all actual UX parts out?
Like: "Privacy Indicator Requirements" ?