Skip to content

Commit 0f7e199

Browse files
committed
Editorial: rename advisement class to warning
And clean up some legacy ToC code. Fixes #1034.
1 parent 968459a commit 0f7e199

File tree

1 file changed

+16
-158
lines changed

1 file changed

+16
-158
lines changed

index.bs

Lines changed: 16 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -371,18 +371,6 @@ urlPrefix: https://tc39.es/proposal-resizablearraybuffer/; spec: RESIZABLE-BUFFE
371371
.csstransforms #distinguishable-table thead th:last-child div span {
372372
border-bottom: none;
373373
}
374-
375-
#toc .current,
376-
#toc .current-parent {
377-
border-right-width: 3px;
378-
border-right-style: solid;
379-
border-right-color: #3980B5;
380-
}
381-
382-
#toc .current {
383-
background: rgba(75%, 75%, 75%, .25);
384-
border-right-color: #054572;
385-
}
386374
</style>
387375

388376

@@ -1397,7 +1385,7 @@ Note: See also the similarly named [=callback function=] definition.
13971385

13981386
[=Callback interfaces=] must define exactly one [=regular operation=].
13991387

1400-
<div class="advisement">
1388+
<div class="warning">
14011389

14021390
Specification authors should not define
14031391
[=callback interfaces=]
@@ -1574,7 +1562,7 @@ A <dfn id="dfn-constant" export>constant</dfn> is a declaration (matching
15741562
<emu-nt><a href="#prod-Const">Const</a></emu-nt>) used to bind a constant value to a name.
15751563
Constants can appear on [=interfaces=] and [=callback interfaces=].
15761564

1577-
<p class="advisement">
1565+
<p class="warning">
15781566
Constants have in the past primarily been used to define
15791567
named integer codes in the style of an enumeration. The Web platform
15801568
is moving away from this design pattern in favor of the use of strings.
@@ -2240,7 +2228,7 @@ corresponding argument omitted.
22402228
};
22412229
</pre>
22422230

2243-
<p class="advisement">
2231+
<p class="warning">
22442232
It is strongly suggested not to use a [=optional argument/default value=]
22452233
of <emu-val>true</emu-val> for {{boolean}}-typed arguments,
22462234
as this can be confusing for authors who might otherwise expect the default
@@ -4801,7 +4789,7 @@ members' entries might or might not [=map/exist=] in the dictionary value.
48014789
existing in the dictionary value otherwise.
48024790
</p>
48034791

4804-
<p class="advisement">
4792+
<p class="warning">
48054793
As with [=optional argument/default value|operation argument default values=], it is strongly
48064794
encouraged not to use <emu-val>true</emu-val> as the [=dictionary member/default value=] for
48074795
{{boolean}}-typed [=dictionary members=], as this can be confusing for authors who might
@@ -5184,7 +5172,7 @@ entails in the ECMAScript language binding.
51845172
The <dfn id="dfn-error-names-table" export>error names table</dfn> below lists all the allowed error names
51855173
for {{DOMException}}, a description, and legacy code values.
51865174

5187-
<p class="advisement">
5175+
<p class="warning">
51885176
The {{DOMException}} names marked as deprecated are kept for legacy purposes but their usage is discouraged.
51895177
</p>
51905178

@@ -5390,7 +5378,7 @@ as a comma-separated list of <emu-t class="regex"><a href="#prod-string">string<
53905378
The list of [=enumeration values=]
53915379
must not include duplicates.
53925380

5393-
<p class="advisement">
5381+
<p class="warning">
53945382
It is strongly suggested that enumeration values be all lowercase,
53955383
and that multiple words be separated using dashes or not be
53965384
separated at all, unless there is a specific reason to use another
@@ -5988,7 +5976,7 @@ tokens.
59885976
The [=type name=] of the
59895977
{{float}} type is "<code>Float</code>".
59905978

5991-
<p class="advisement">
5979+
<p class="warning">
59925980
Unless there are specific reasons to use a 32 bit floating point type,
59935981
specifications should use
59945982
{{double}} rather than {{float}},
@@ -6101,7 +6089,7 @@ can be set to [=value of string literal tokens|the value=] of a
61016089
The [=type name=] of the
61026090
{{ByteString}} type is "<code>ByteString</code>".
61036091

6104-
<p class="advisement">
6092+
<p class="warning">
61056093
Specifications should only use
61066094
{{ByteString}} for interfacing with protocols
61076095
that use bytes and strings interchangeably, such as HTTP. In general,
@@ -6132,7 +6120,7 @@ can be set to [=value of string literal tokens|the value=] of a
61326120
The [=type name=] of the
61336121
{{USVString}} type is "<code>USVString</code>".
61346122

6135-
<p class="advisement">
6123+
<p class="warning">
61366124
Specifications should only use
61376125
{{USVString}} for APIs that perform
61386126
text processing and need a string of Unicode
@@ -6511,7 +6499,7 @@ Each pair of [=flattened member types=]
65116499
in a [=union type=], <var ignore>T</var> and <var ignore>U</var>,
65126500
must be [=distinguishable=].
65136501

6514-
<p class="advisement" id="limit-bigint-numeric-unions">
6502+
<p class="warning" id="limit-bigint-numeric-unions">
65156503
It is possible to create a union of {{bigint}} and a [=numeric type=].
65166504
However, this is generally only supposed to be used for interfaces such as
65176505
[[ECMA-402#numberformat-objects|NumberFormat]], which formats the values rather than using them in
@@ -7103,7 +7091,7 @@ specifications may also override the definitions of any internal method or inter
71037091
[=platform object=] that is an instance of an [=interface=]. These objects with changed semantics
71047092
shall be treated in accordance with the rules for exotic objects.
71057093

7106-
<p class="advisement">
7094+
<p class="warning">
71077095
As overriding internal ECMAScript object methods is a low level operation and
71087096
can result in objects that behave differently from ordinary objects,
71097097
this facility should not be used unless necessary
@@ -9029,7 +9017,7 @@ a reference to the same object that the IDL value represents.
90299017
|startingOffset|.
90309018
</div>
90319019

9032-
<div class="advisement">
9020+
<div class="warning">
90339021
Extreme care must be taken when writing specification text that
90349022
[=ArrayBuffer/writes=] into an {{ArrayBuffer}} or {{ArrayBufferView}}, as the underlying data
90359023
can easily be changed by the script author or other APIs at unpredictable times. This is
@@ -10356,7 +10344,7 @@ before proceeding.
1035610344

1035710345
<h4 id="LegacyFactoryFunction" extended-attribute lt="LegacyFactoryFunction" oldids="NamedConstructor">[LegacyFactoryFunction]</h4>
1035810346

10359-
<p class="advisement">Instead of using this feature, give your interface a [=constructor operation=].</p>
10347+
<p class="warning">Instead of using this feature, give your interface a [=constructor operation=].</p>
1036010348

1036110349
If the [{{LegacyFactoryFunction}}]
1036210350
[=extended attribute=]
@@ -10552,7 +10540,7 @@ is to be implemented.
1055210540

1055310541
<h4 id="LegacyNamespace" extended-attribute lt="LegacyNamespace">[LegacyNamespace]</h4>
1055410542

10555-
<p class="advisement">Instead of using this feature, interface names can be formed with a naming
10543+
<p class="warning">Instead of using this feature, interface names can be formed with a naming
1055610544
convention of starting with a particular prefix for a set of interfaces, as part of the identifier,
1055710545
without the intervening dot.</p>
1055810546

@@ -11445,7 +11433,7 @@ An interface may have <dfn export>overridden constructor steps</dfn>, which can
1144511433
change the behavior of the [=interface object=] when called or constructed. By
1144611434
default interfaces do not have such steps.
1144711435

11448-
<p class="advisement">
11436+
<p class="warning">
1144911437
In general, constructors are described by defining a [=constructor operation=] and its behavior.
1145011438
The [=overridden constructor steps=] are used only for more complicated situations.
1145111439
Editors who wish to use this feature are strongly advised to discuss this by
@@ -15015,7 +15003,7 @@ The following typographic conventions are used in this document:
1501515003
This is an example.
1501615004
</div>
1501715005
* Normative warnings:
15018-
<p class="advisement">
15006+
<p class="warning">
1501915007
This is a warning.
1502015008
</p>
1502115009
* Code blocks:
@@ -15118,134 +15106,4 @@ available under the
1511815106
/*! modernizr 3.3.1 (Custom Build) | MIT *
1511915107
* https://modernizr.com/download/?-csstransforms-setclasses !*/
1512015108
!function(e,n,t){function r(e,n){return typeof e===n}function o(){var e,n,t,o,s,i,a;for(var l in C)if(C.hasOwnProperty(l)){if(e=[],n=C[l],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(o=r(n.fn,"function")?n.fn():n.fn,s=0;s<e.length;s++)i=e[s],a=i.split("."),1===a.length?Modernizr[a[0]]=o:(!Modernizr[a[0]]||Modernizr[a[0]]instanceof Boolean||(Modernizr[a[0]]=new Boolean(Modernizr[a[0]])),Modernizr[a[0]][a[1]]=o),g.push((o?"":"no-")+a.join("-"))}}function s(e){var n=_.className,t=Modernizr._config.classPrefix||"";if(S&&(n=n.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(r,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),S?_.className.baseVal=n:_.className=n)}function i(e,n){return!!~(""+e).indexOf(n)}function a(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):S?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}function l(e){return e.replace(/([a-z])-([a-z])/g,function(e,n,t){return n+t.toUpperCase()}).replace(/^-/,"")}function f(e,n){return function(){return e.apply(n,arguments)}}function u(e,n,t){var o;for(var s in e)if(e[s]in n)return t===!1?e[s]:(o=n[e[s]],r(o,"function")?f(o,t||n):o);return!1}function d(e){return e.replace(/(\[A-Z])/g,function(e,n){return"-"+n.toLowerCase()}).replace(/^ms-/,"-ms-")}function c(){var e=n.body;return e||(e=a(S?"svg":"body"),e.fake=!0),e}function p(e,t,r,o){var s,i,l,f,u="modernizr",d=a("div"),p=c();if(parseInt(r,10))for(;r--;)l=a("div"),l.id=o?o[r]:u+(r+1),d.appendChild(l);return s=a("style"),s.type="text/css",s.id="s"+u,(p.fake?p:d).appendChild(s),p.appendChild(d),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(n.createTextNode(e)),d.id=u,p.fake&&(p.style.background="",p.style.overflow="hidden",f=_.style.overflow,_.style.overflow="hidden",_.appendChild(p)),i=t(d,e),p.fake?(p.parentNode.removeChild(p),_.style.overflow=f,_.offsetHeight):d.parentNode.removeChild(d),!!i}function m(n,r){var o=n.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(d(n[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var s=[];o--;)s.push("("+d(n[o])+":"+r+")");return s=s.join(" or "),p("@supports ("+s+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return t}function h(e,n,o,s){function f(){d&&(delete z.style,delete z.modElem)}if(s=r(s,"undefined")?!1:s,!r(o,"undefined")){var u=m(e,o);if(!r(u,"undefined"))return u}for(var d,c,p,h,v,y=["modernizr","tspan","samp"];!z.style&&y.length;)d=!0,z.modElem=a(y.shift()),z.style=z.modElem.style;for(p=e.length,c=0;p>c;c++)if(h=e[c],v=z.style[h],i(h,"-")&&(h=l(h)),z.style[h]!==t){if(s||r(o,"undefined"))return f(),"pfx"==n?h:!0;try{z.style[h]=o}catch(g){}if(z.style[h]!=v)return f(),"pfx"==n?h:!0}return f(),!1}function v(e,n,t,o,s){var i=e.charAt(0).toUpperCase()+e.slice(1),a=(e+" "+b.join(i+" ")+i).split(" ");return r(n,"string")||r(n,"undefined")?h(a,n,o,s):(a=(e+" "+E.join(i+" ")+i).split(" "),u(a,n,t))}function y(e,n,r){return v(e,t,t,n,r)}var g=[],C=[],w={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){C.push({name:e,fn:n,options:t})},addAsyncTest:function(e){C.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=w,Modernizr=new Modernizr;var _=n.documentElement,S="svg"===_.nodeName.toLowerCase(),x="Moz O ms Webkit",b=w._config.usePrefixes?x.split(" "):[];w._cssomPrefixes=b;var E=w._config.usePrefixes?x.toLowerCase().split(" "):[];w._domPrefixes=E;var P={elem:a("modernizr")};Modernizr._q.push(function(){delete P.elem});var z={style:P.elem.style};Modernizr._q.unshift(function(){delete z.style}),w.testAllProps=v,w.testAllProps=y,Modernizr.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&y("transform","scale(1)",!0)}),o(),s(g),delete w.addTest,delete w.addAsyncTest;for(var N=0;N<Modernizr._q.length;N++)Modernizr._q\[N]();e.Modernizr=Modernizr}(window,document);
15121-
15122-
// Scrollspy
15123-
var createScrollSpy = (function() {
15124-
15125-
function targetId(element) {
15126-
return (element.href || "").split("#")[1] || null;
15127-
}
15128-
15129-
function getScrollTop() {
15130-
return (window.pageYOffset !== undefined)
15131-
? window.pageYOffset
15132-
: (document.documentElement || document.body.parentNode || document.body).scrollTop;
15133-
}
15134-
15135-
function addClassToParents(element, className, parentClassName) {
15136-
do {
15137-
element = element.parentNode;
15138-
} while (element && element.tagName != "LI")
15139-
if (element) {
15140-
var a = element.querySelector("a");
15141-
if (a) a.className = className;
15142-
addClassToParents(element, parentClassName ? parentClassName : className);
15143-
}
15144-
}
15145-
15146-
function getPosition(element, container) {
15147-
var eR = element.getBoundingClientRect();
15148-
var cR = container.getBoundingClientRect();
15149-
if (eR.bottom < cR.top) return "above";
15150-
if (eR.top > cR.bottom) return "below";
15151-
return "visible";
15152-
}
15153-
15154-
function createScrollSpy(options) {
15155-
options = options || {};
15156-
15157-
var OFFSET = 80,
15158-
needsUpdate = false,
15159-
previous = null,
15160-
current = null,
15161-
currentNav = null,
15162-
tocContainer,
15163-
toc,
15164-
sections;
15165-
15166-
tocContainer = document.querySelector(options.id);
15167-
toc = [].slice.call(tocContainer.querySelectorAll("a"), 0);
15168-
sections = toc.reduce(function(sections, a) {
15169-
var id = targetId(a);
15170-
var section = id ? document.getElementById(id) : null;
15171-
if (section) { sections.push(section); }
15172-
return sections;
15173-
}, []);
15174-
15175-
function onscroll() {
15176-
if (!needsUpdate) {
15177-
needsUpdate = true;
15178-
requestAnimationFrame(updatePosition);
15179-
}
15180-
}
15181-
15182-
function updatePosition() {
15183-
needsUpdate = false;
15184-
var scrollTop = (options.offset || 0) + getScrollTop();
15185-
current = sections.filter(function(section){
15186-
return section.offsetTop < scrollTop;
15187-
}).pop();
15188-
current = current ? current.id : null;
15189-
15190-
if (previous !== current) {
15191-
previous = current;
15192-
toc.forEach(function(a) {
15193-
if (targetId(a) == current) {
15194-
currentNav = a;
15195-
} else {
15196-
a.className = "";
15197-
}
15198-
});
15199-
if (options.markParents) {
15200-
addClassToParents(currentNav, options.className, options.parentClassName)
15201-
} else {
15202-
currentNav.className = options.className;
15203-
}
15204-
if (options.scrollIntoView && typeof currentNav.scrollIntoView == "function") {
15205-
var p = getPosition(currentNav, tocContainer);
15206-
if (p == "above") {
15207-
currentNav.scrollIntoView(true);
15208-
} else if (p == "below") {
15209-
currentNav.scrollIntoView(false);
15210-
}
15211-
}
15212-
}
15213-
}
15214-
15215-
return {
15216-
start: function() {
15217-
window.addEventListener("scroll", onscroll, false);
15218-
},
15219-
15220-
stop: function() {
15221-
window.removeEventListener("scroll", onscroll, false);
15222-
toc.forEach(function(a) {
15223-
a.className = "";
15224-
});
15225-
}
15226-
}
15227-
}
15228-
15229-
return createScrollSpy;
15230-
})();
15231-
15232-
(function() {
15233-
var spy = createScrollSpy({
15234-
offset: 80,
15235-
id: "#toc",
15236-
className: "current",
15237-
parentClassName: "current-parent",
15238-
markParents: true,
15239-
scrollIntoView: true
15240-
});
15241-
15242-
var mm = window.matchMedia('screen and (min-width: 78em)');
15243-
if (mm.matches) {
15244-
spy.start();
15245-
}
15246-
mm.addListener(function(m) {
15247-
if (m.matches) spy.start();
15248-
else spy.stop();
15249-
});
15250-
})();
1525115109
</script>

0 commit comments

Comments
 (0)