tweaks to the privacy model, bringing informative example into normative reqs (more related to ACTION-80)
authorJames Craig <jcraig@apple.com>
Sat, 03 May 2014 18:58:21 -0700
changeset 191 6055f369448c
parent 190 cffcb0ff3adb
child 192 6089bcb3c341
tweaks to the privacy model, bringing informative example into normative reqs (more related to ACTION-80)
src/img/example_dialog.svg
src/indie-ui-context.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/img/example_dialog.svg	Sat May 03 18:58:21 2014 -0700
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="144 230 310 170" width="310pt" height="170pt">
+	<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
+		<title>Example Prompt Dialog</title>
+		<g role="dialog" aria-labelledby="heading_id">
+			<rect x="155.88672" y="237.66406" width="287.0625" height="146.38281" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
+			<g role="heading" aria-level="1" id="heading_id">
+				<rect x="155.91406" y="237.60938" width="287.03516" height="47.789062" fill="#dad7dd" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
+				<text transform="translate(184.71875 248.91406)" fill="black" role="text">
+					<tspan font-family="Helvetica" font-size="12" font-weight="bold" x="0" y="11" textLength="187">Share media player settings with</tspan>
+					<tspan font-family="Helvetica" font-size="12" font-weight="bold" x="0" y="25" textLength="154">https://www.example.com?</tspan>
+				</text>	
+			</g>
+			<text transform="translate(184.71875 294.91406)" fill="black" role="text">
+				<tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="223">Example Site uses your media settings to </tspan>
+				<tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="25" textLength="235">automatically enable captions or subtitles in </tspan>
+				<tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="39" textLength="131">your preferred language.</tspan>
+			</text>
+			<g role="button" id="allow_button" tabindex="0">
+				<path d="M 381 344 L 417 344 C 421.97055 344 426 348.02945 426 353 L 426 360.53906 C 426 365.50961 421.97055 369.53906 417 369.53906 L 381 369.53906 C 376.02945 369.53906 372 365.50961 372 360.53906 C 372 360.53906 372 360.53906 372 360.53906 L 372 353 C 372 348.02945 376.02945 344 381 344 Z" fill="#81bbff" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
+				<text transform="translate(377 349.76953)" fill="black" role="text">
+					<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="7.6621094" y="11" textLength="28.675781">Allow</tspan>
+				</text>
+			</g>
+			<g role="button" id="deny_button" tabindex="0">
+				<path d="M 318 344 L 354 344 C 358.97055 344 363 348.02945 363 353 L 363 360.53906 C 363 365.50961 358.97055 369.53906 354 369.53906 L 318 369.53906 C 313.02945 369.53906 309 365.50961 309 360.53906 C 309 360.53906 309 360.53906 309 360.53906 L 309 353 C 309 348.02945 313.02945 344 318 344 Z" fill="#d9d9d9" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
+				<text transform="translate(314 349.76953)" fill="black" role="text">
+					<tspan font-family="Helvetica" font-size="12" font-weight="500" x="7.993164" y="11" textLength="28.013672">Deny</tspan>
+				</text>
+			</g>
+		</g>
+	</g>
+</svg>
--- a/src/indie-ui-context.html	Sat May 03 18:01:40 2014 -0700
+++ b/src/indie-ui-context.html	Sat May 03 18:58:21 2014 -0700
@@ -213,20 +213,17 @@
 					}
 
 				</pre>
-				<p>Depending on the user's privacy settings and implementation details of the user agent, there are a number of outcomes:</p>
-				<ul>
-					<li>If the user has previously allowed access for this site to access screen reader settings, or if the user has allowed all sites to access screen reader settings without restriction, the User Agent SHOULD return the correct value immediately.</li>
-					<li>If the user has a general 'prompt' restriction enabled for this setting, the User Agent will return the default, incorrect value, and the user agent SHOULD prompt the user with a generic dialog similar to that for location sharing.</li>
-					<li>If the user requires a 'justification' restriction for these settings (recommended default for screen reader settings), User Agent will return the default, incorrect value, and the user agent SHOULD prompt the user with a dialog that includes the author-provided justification string. If no author-provided justification string is defined, User Agents should not prompt the user, and never return the correct value.</li>
-					<li>If the user has disallowed access for this setting to this site or all sites, the User Agent MUST always return the default, incorrect value.</li>
-				</ul>
-				<p class="ednote">Turn the previous informative list into normative statements.</p>
-
+				<p>Depending on the user's privacy settings and implementation details of the user agent, there are a number of outcomes, according to the following, normative requirements.</p>
 			</section>
-
 			<section id="RequirementsForUserSettings">
 				<h3>User Agent Requirements for Restricted User Settings</h3>
 				<p>To avoid privacy concerns, User Agents MUST <em>immediately</em> return the default value for any restricted features that will result in a user prompt. If and when the user chooses to share settings from the relevant category with the requesting page, the web page author can handle a user setting change callback, or make a subsequent request to the <code>userSetting()</code> method of the Window object.</p>
+				<ul>
+					<li>If the user has previously allowed access for this site to access the requested settings, or if the user has allowed all sites to access requested settings without restriction, the User Agent SHOULD return the correct value immediately.</li>
+					<li>If the user has a general 'prompt' restriction enabled for the requested setting, the User Agent will return the default, incorrect value, and the user agent SHOULD prompt the user with a generic dialog similar to that for location sharing.</li>
+					<li>If the user requires a 'justification' restriction for the requested settings, the User Agent MUST return the default, incorrect value, and the user agent SHOULD prompt the user with a dialog that includes the author-provided justification string. If no author-provided justification string is defined, User Agents MUST NOT prompt the user, and MUST return the default, incorrect value.</li>
+					<li>If the user has disallowed access for this setting to this site or all sites, the User Agent MUST always return the default, incorrect value.</li>
+				</ul>
 				<section class="informative">
 					<h4>Example restricted call to <code>window.userSettings()</code></h4>
 					<p>The following example illustrates the code path that is executed when a user with a preference for audio descriptions visits a web page that uses window.userSetting() to automatically enable the secondary audio track at load time.</p>