You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: css-transitions/Overview.bs
+94-1Lines changed: 94 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,7 @@ Abstract: CSS Transitions allows property changes in CSS values to occur smoothl
32
32
Status Text: <strong>This document</strong> is expected to be relatively close to last call. While some issues raised have yet to be addressed, new features are extremely unlikely to be considered for this level. <p>The following behaviors are at risk: <ul><li><a href="#discrete-interpolation-at-risk">Interpolation in steps of property types that cannot be interpolated</a></li></ul>
33
33
Ignored Terms: float
34
34
Ignored Vars: x1, x2, y1, y2
35
+
Link Defaults: css-transforms (property) transform
35
36
</pre>
36
37
<!-- FIXME: font-size and font-weight link defaults don't work -->
The security implications of this specification are limited
1687
+
because it doesn't allow Web content to do things
1688
+
that it could not do before.
1689
+
Rather, it allows things that could previously be done with script
1690
+
to be done declaratively,
1691
+
and it ways that implementations can optimize (for frame rate and
1692
+
CPU usage).
1693
+
1694
+
One of the major categories of optimizations
1695
+
that implementations can make is implementing animation
1696
+
of certain high-value properties (such as 'transform' and 'opacity')
1697
+
run on a browser's compositor thread or process
1698
+
without updating style or layout on the main Web content thread
1699
+
unless up-to-date style data are needed.
1700
+
This optimization often requires allocations of graphics memory
1701
+
to display the contents of the element being animated.
1702
+
Implementations should take care to ensure that Web content
1703
+
cannot trigger unsafe out-of-memory handling
1704
+
by using large numbers of animations
1705
+
or animations on elements covering large areas
1706
+
(where large may be defined in terms of pre-transform or post-transform size).
1707
+
1708
+
Privacy Considerations {#privacy}
1709
+
=================================
1710
+
1711
+
<em>This section is not normative.</em>
1712
+
1713
+
As for security, the privacy considerations of this specification are limited
1714
+
because it does not allow Web content to do things that it could not do before.
1715
+
1716
+
This specification may provide additional mechanisms that help to determine
1717
+
characteristics of the user's hardware or software.
1718
+
However, ability to determine performance characteristics of the user's
1719
+
hardware or software is common to many Web technologies,
1720
+
and this specification does not introduce new capabilities.
1721
+
1722
+
As described in [[#accessibility]],
1723
+
implementations may provide mitigations to help users with disabilities.
1724
+
These mitigations are likely to be detectable by Web content,
1725
+
which means that users who would benefit from these mitigations
1726
+
may face a tradeoff between keeping their disability private from
1727
+
the Web content or benefiting from the mitigation.
1728
+
1729
+
Accessibility Considerations {#accessibility}
1730
+
=============================================
1731
+
1732
+
<em>This section is not normative.</em>
1733
+
1734
+
Motion {#accessibility-motion}
1735
+
------------------------------
1736
+
1737
+
This specification provides declarative mechanisms for animations
1738
+
that previously needed to be done using script.
1739
+
Providing a declarative mechanism has multiple effects:
1740
+
it makes such animations easier to make and thus likely to be more common,
1741
+
but it also makes it easier for user agents to modify those animations
1742
+
if such modifications are needed to meet a user's accessibility needs.
1743
+
1744
+
Thus, users who are sensitive to movement,
1745
+
or who require additional time to read or understand content,
1746
+
may benefit from user agent features that allow
1747
+
animations to be disabled or slowed down.
1748
+
(But see [[#privacy]] for information on the privacy implications
1749
+
of such mitigations.)
1750
+
1751
+
User agent implementors should be aware that Web content
1752
+
may depend on the firing of <a href="#transition-events">transition events</a>,
1753
+
so implementations of such mitigations may wish to fire transition events
1754
+
even if the transitions were not run as continuous animations.
1755
+
However, it is probably poor practice for Web content to depend on
1756
+
such events to function correctly.
1757
+
1758
+
Cascade {#accessibility-cascade}
1759
+
--------------------------------
1760
+
1761
+
The CSS <a>cascade</a> is a general mechanism in CSS
1762
+
that allows user needs to interact with author styles.
1763
+
This specification interacts with the cascade,
1764
+
but since it only allows animation between values
1765
+
that result from the existing cascade rules,
1766
+
it does not interfere with user's ability to force
1767
+
CSS properties to have particular values.
1768
+
1769
+
The cascade also allows users to disable transitions entirely
1770
+
by overriding the transition properties.
1771
+
1772
+
1680
1773
<h2 id="changes">Changes since Working Draft of 19 November 2013</h2>
1681
1774
1682
1775
<p>The following are the substantive changes made since the
@@ -1689,7 +1782,7 @@ dated 19 November 2013</a>:</p>
1689
1782
<li>Completion of transitions is defined somewhat more precisely.</li>
1690
1783
<li>The transitionend event is no longer cancelable. This is since it has no default action, so canceling it would have no meaning. It also matches the animation events.</li>
1691
1784
<li>The interpolation of ''shadow/inset'' values on shadow lists is no longer backwards.</li>
1692
-
<li>A [[#conformance]] section and [[#idl-index]] have been added</li>
1785
+
<li>A [[#conformance]] section, [[#security]] section, [[#privacy]] section, [[#accessibility]] section, and [[#idl-index]] have been added</li>
1693
1786
<li>The identifiers accepted by 'transition-property' are defined in terms of <<custom-ident>>.</li>
1694
1787
<li>Define a little bit more about when changes to computed values happen, by saying at least that implementations must not update the effects of computed values without actually updating computed values.</li>
<p> All properties defined as animatable in the SVG specification, provided
1267
1275
they are one of the property types listed above. </p>
1268
-
<h2class="heading settled" data-level="9" id="changes"><spanclass="secno">9. </span><spanclass="content">Changes since Working Draft of 19 November 2013</span><aclass="self-link" href="#changes"></a></h2>
<p>The security implications of this specification are limited
1279
+
because it doesn’t allow Web content to do things
1280
+
that it could not do before.
1281
+
Rather, it allows things that could previously be done with script
1282
+
to be done declaratively,
1283
+
and it ways that implementations can optimize (for frame rate and
1284
+
CPU usage).</p>
1285
+
<p>One of the major categories of optimizations
1286
+
that implementations can make is implementing animation
1287
+
of certain high-value properties (such as <aclass="property" data-link-type="propdesc" href="https://drafts.csswg.org/css-transforms-1/#propdef-transform">transform</a> and <aclass="property" data-link-type="propdesc" href="https://drafts.csswg.org/css-color-3/#opacity">opacity</a>)
1288
+
run on a browser’s compositor thread or process
1289
+
without updating style or layout on the main Web content thread
1290
+
unless up-to-date style data are needed.
1291
+
This optimization often requires allocations of graphics memory
1292
+
to display the contents of the element being animated.
1293
+
Implementations should take care to ensure that Web content
1294
+
cannot trigger unsafe out-of-memory handling
1295
+
by using large numbers of animations
1296
+
or animations on elements covering large areas
1297
+
(where large may be defined in terms of pre-transform or post-transform size).</p>
<p>The CSS <adata-link-type="dfn" href="https://drafts.csswg.org/css-cascade-4/#cascade">cascade</a> is a general mechanism in CSS
1336
+
that allows user needs to interact with author styles.
1337
+
This specification interacts with the cascade,
1338
+
but since it only allows animation between values
1339
+
that result from the existing cascade rules,
1340
+
it does not interfere with user’s ability to force
1341
+
CSS properties to have particular values.</p>
1342
+
<p>The cascade also allows users to disable transitions entirely
1343
+
by overriding the transition properties.</p>
1344
+
<h2class="heading settled" data-level="12" id="changes"><spanclass="secno">12. </span><spanclass="content">Changes since Working Draft of 19 November 2013</span><aclass="self-link" href="#changes"></a></h2>
1269
1345
<p>The following are the substantive changes made since the <ahref="https://www.w3.org/TR/2013/WD-css3-transitions-20131119/">Working Draft
<li>Completion of transitions is defined somewhat more precisely.
1275
1351
<li>The transitionend event is no longer cancelable. This is since it has no default action, so canceling it would have no meaning. It also matches the animation events.
1276
1352
<li>The interpolation of <aclass="css" data-link-type="maybe" href="https://drafts.csswg.org/css-backgrounds-3/#shadow-inset">inset</a> values on shadow lists is no longer backwards.
1277
-
<li>A <ahref="#conformance">Conformance</a> section and <ahref="#idl-index">IDL Index</a> have been added
1353
+
<li>A <ahref="#conformance">Conformance</a> section, <ahref="#security">§9 Security Considerations</a> section, <ahref="#privacy">§10 Privacy Considerations</a> section, <ahref="#accessibility">§11 Accessibility Considerations</a> section, and <ahref="#idl-index">IDL Index</a> have been added
1278
1354
<li>The identifiers accepted by <aclass="property" data-link-type="propdesc" href="#propdef-transition-property">transition-property</a> are defined in terms of <aclass="production css" data-link-type="type" href="https://drafts.csswg.org/css-values-3/#identifier-value"><custom-ident></a>.
1279
1355
<li>Define a little bit more about when changes to computed values happen, by saying at least that implementations must not update the effects of computed values without actually updating computed values.
<li>see the <ahref="https://www.w3.org/TR/2013/WD-css3-transitions-20130212/ChangeLog">the ChangeLog</a> for changes in previous working drafts
1286
1362
<li>For more details on these changes, see the version control change logs, which are split in three parts because of file renaming: <ahref="https://hg.csswg.org/drafts/log/tip/css-transitions/Overview.bs">change log since 2015 January 26</a>, <ahref="https://hg.csswg.org/drafts/log/tip/css-transitions/Overview.src.html">change log from 2013 March 28 to 2015 January 26</a>, <ahref="https://hg.csswg.org/drafts/log/tip/css3-transitions/Overview.src.html">change log before 2013 March 28</a>.
0 commit comments