Skip to content

Commit 7bec9c5

Browse files
committed
deploy: a46392a
1 parent 88f0e09 commit 7bec9c5

File tree

1 file changed

+42
-15
lines changed

1 file changed

+42
-15
lines changed

index.html

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
<title>Web Platform Design Principles</title>
66
<meta content="ED" name="w3c-status">
77
<link href="https://www.w3.org/StyleSheets/TR/2021/W3C-ED" rel="stylesheet">
8-
<meta content="Bikeshed version 4416b18d5, updated Tue Jan 2 15:52:39 2024 -0800" name="generator">
8+
<meta content="Bikeshed version e20e08949, updated Wed Jan 24 11:50:28 2024 -0800" name="generator">
99
<link href="https://www.w3.org/TR/design-principles/" rel="canonical">
10-
<meta content="c8a5914bf8cf58f88f652ef9c02fddea4945184c" name="revision">
10+
<meta content="a46392a0f25e103d30e02c596c9b471d1307765f" name="revision">
1111
<style>
1212
table.data {
1313
text-align: left;
@@ -699,7 +699,7 @@
699699
<div class="head">
700700
<p data-fill-with="logo"><a class="logo" href="https://www.w3.org/"> <img alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2021/logos/W3C" width="72"> </a> </p>
701701
<h1 class="p-name no-ref" id="title">Web Platform Design Principles</h1>
702-
<p id="w3c-state"><a href="https://www.w3.org/standards/types#ED">Editor’s Draft</a>, <time class="dt-updated" datetime="2024-01-24">24 January 2024</time></p>
702+
<p id="w3c-state"><a href="https://www.w3.org/standards/types#ED">Editor’s Draft</a>, <time class="dt-updated" datetime="2024-01-25">25 January 2024</time></p>
703703
<details open>
704704
<summary>More details about this document</summary>
705705
<div data-fill-with="spec-metadata">
@@ -763,6 +763,7 @@ <h2 class="no-num no-toc no-ref" id="contents">Table of Contents</h2>
763763
<li><a href="#new-features"><span class="secno">1.6</span> <span class="content">Add new capabilities with care</span></a>
764764
<li><a href="#removing-features"><span class="secno">1.7</span> <span class="content">Remove or change capabilities only once you understand existing usage</span></a>
765765
<li><a href="#leave-the-web-better"><span class="secno">1.8</span> <span class="content">Leave the web better than you found it</span></a>
766+
<li><a href="#data-minimization"><span class="secno">1.9</span> <span class="content">Minimize user data</span></a>
766767
</ol>
767768
<li>
768769
<a href="#api-across-languages"><span class="secno">2</span> <span class="content">API Design Across Languages</span></a>
@@ -1120,6 +1121,19 @@ <h3 class="heading settled" data-level="1.8" id="leave-the-web-better"><span cla
11201121
Issues that are present with a certain web technology now may be fixed in a subsequent iteration.
11211122
Duplicating these issues makes fixing them more difficult.
11221123
By adhering to this principle we can make sure overall platform quality improves over time.</p>
1124+
<h3 class="heading settled" data-level="1.9" id="data-minimization"><span class="secno">1.9. </span><span class="content">Minimize user data</span><a class="self-link" href="#data-minimization"></a></h3>
1125+
<p>Design features to work with the minimum amount of data necessary to carry out their
1126+
users' goals.</p>
1127+
<p><a href="https://www.w3.org/TR/privacy-principles/#data-minimization">Data minimization</a> limits the risks of data being inappropriately disclosed or misused.</p>
1128+
<p>Design Web APIs to make it easier for sites to request, collect, and/or transmit
1129+
a small amount of data, or more granular or specific data, than it is to work with
1130+
more generic or bulk data.
1131+
APIs should also provide granularity and user controls,
1132+
in particular over <a href="https://www.w3.org/TR/privacy-principles/#dfn-data">personal data</a>,
1133+
that is communicated to sites.
1134+
When additional functionality requires additional data, APIs can enable this
1135+
subject to user consent (e.g., a permission prompt or user activation).</p>
1136+
<div class="example" id="example-fa9c901d"><a class="self-link" href="#example-fa9c901d"></a> A <a href="#font-enumeration">Font Enumeration API</a> API was once proposed, but the tradeoff of user data exposed was not justified by the use cases. Instead, an alternative solution was proposed, which only exposed the font the user actually selected. </div>
11231137
<h2 class="heading settled" data-level="2" id="api-across-languages"><span class="secno">2. </span><span class="content">API Design Across Languages</span><a class="self-link" href="#api-across-languages"></a></h2>
11241138
<h3 class="heading settled" data-level="2.1" id="simplicity"><span class="secno">2.1. </span><span class="content">Prefer simple solutions</span><a class="self-link" href="#simplicity"></a></h3>
11251139
<p>Look hard for simple solutions to the <a href="#priority-of-constituencies">user needs</a> you intend to address.</p>
@@ -5423,20 +5437,33 @@ <h2 class="no-num no-ref heading settled" id="issues-index"><span class="content
54235437
};
54245438
}
54255439

5440+
function showRefHintListener(e) {
5441+
// If the target isn't in a link (or is a link),
5442+
// just ignore it.
5443+
let link = e.target.closest("a");
5444+
if(!link) return;
5445+
5446+
// If the target is in a ref-hint panel
5447+
// (aka a link in the already-open one),
5448+
// also just ignore it.
5449+
if(link.closest(".ref-hint")) return;
5450+
5451+
// Otherwise, show the panel for the link.
5452+
showRefHint(link);
5453+
}
5454+
5455+
function hideAllHintsListener(e) {
5456+
// If the click is inside a ref-hint panel, ignore it.
5457+
if(e.target.closest(".ref-hint")) return;
5458+
// Otherwise, close all the current panels.
5459+
hideAllRefHints();
5460+
}
5461+
54265462
document.addEventListener("DOMContentLoaded", () => {
5427-
document.body.addEventListener("mouseover", e=>{
5428-
let link = e.target.closest("a");
5429-
if(link) showRefHint(link);
5430-
});
5431-
document.body.addEventListener("focus", e=>{
5432-
let link = e.target.closest("a");
5433-
if(link) showRefHint(link);
5434-
});
5463+
document.body.addEventListener("mouseover", showRefHintListener);
5464+
document.body.addEventListener("focus", showRefHintListener);
54355465

5436-
document.body.addEventListener("click", (e) => {
5437-
// If not handled already, just hide all link panels.
5438-
hideAllRefHints();
5439-
});
5466+
document.body.addEventListener("click", hideAllHintsListener);
54405467
});
54415468

54425469
window.addEventListener("resize", () => {

0 commit comments

Comments
 (0)