@@ -398,6 +398,124 @@ Strong Containment: the 'contain' property</h2>
398
398
''contain: strict'' can be applied to communicate further restrictions.
399
399
</div>
400
400
401
+ <div class=correction id=c3>
402
+ <span class=marker> Candidate Correction 3:</span>
403
+ The CSS Working Group had forgotten to consider the effects of containment
404
+ on the HTML <{html}> and <{body}> elements,
405
+ particularly in consideration of the fact that
406
+ for legacy reasons,
407
+ some properties can propagate outwards from the <{body}> element.
408
+ This proposed text addresses this oversight.
409
+
410
+ <blockquote>
411
+ Additionally, when the [=used value=] of the 'contain' property
412
+ on either the HTML <{html}> or <{body}> elements
413
+ is anything other than ''contain/none'' ,
414
+ propagation of properties
415
+ from the <{body}> element
416
+ to the [=initial containing block=] , the viewport, or the [=canvas background=] ,
417
+ is disabled.
418
+ Notably, this affects:
419
+ * 'writing-mode' , 'direction' , and 'text-orientation' (see [[CSS-WRITING-MODES-3#principal-flow]] )
420
+ * 'overflow' and its longhands (see [[CSS-OVERFLOW-3#overflow-propagation]] )
421
+ * 'background' and its longhands (see [[CSS-BACKGROUNDS-3#body-background]] )
422
+
423
+ <wpt>
424
+ contain-body-bg-001.html
425
+ contain-body-bg-002.html
426
+ contain-body-bg-003.html
427
+ contain-body-bg-004.html
428
+ contain-body-dir-001.html
429
+ contain-body-dir-002.html
430
+ contain-body-dir-003.html
431
+ contain-body-dir-004.html
432
+ contain-body-overflow-001.html
433
+ contain-body-overflow-002.html
434
+ contain-body-overflow-003.html
435
+ contain-body-overflow-004.html
436
+ contain-body-t-o-001.html
437
+ contain-body-t-o-002.html
438
+ contain-body-t-o-003.html
439
+ contain-body-t-o-004.html
440
+ contain-body-w-m-001.html
441
+ contain-body-w-m-002.html
442
+ contain-body-w-m-003.html
443
+ contain-body-w-m-004.html
444
+ contain-html-bg-001.html
445
+ contain-html-bg-002.html
446
+ contain-html-bg-003.html
447
+ contain-html-bg-004.html
448
+ contain-html-dir-001.html
449
+ contain-html-dir-002.html
450
+ contain-html-dir-003.html
451
+ contain-html-dir-004.html
452
+ contain-html-overflow-001.html
453
+ contain-html-overflow-002.html
454
+ contain-html-overflow-003.html
455
+ contain-html-overflow-004.html
456
+ contain-html-t-o-001.html
457
+ contain-html-t-o-002.html
458
+ contain-html-t-o-003.html
459
+ contain-html-t-o-004.html
460
+ contain-html-w-m-001.html
461
+ contain-html-w-m-002.html
462
+ contain-html-w-m-003.html
463
+ contain-html-w-m-004.html
464
+ </wpt>
465
+
466
+ Note: Propagation
467
+ to the [=initial containing block=] , the viewport, or the [=canvas background=] ,
468
+ of properties set on the <{html}> element itself
469
+ is unaffected.
470
+ </blockquote>
471
+ <details>
472
+ <summary> This change has tests</summary>
473
+ Tests to cover these new requirements have been added to <abbr title="Web Platform Tests"> WPT</abbr> .
474
+ The results of these tests can be seen at the <a href="https://wpt.fyi/">Web-Platform-Tests dashboard</a> :
475
+ <ol>
476
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-bg-001.html>contain-body-bg-001.html</a>
477
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-bg-002.html>contain-body-bg-002.html</a>
478
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-bg-003.html>contain-body-bg-003.html</a>
479
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-bg-004.html>contain-body-bg-004.html</a>
480
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-dir-001.html>contain-body-dir-001.html</a>
481
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-dir-002.html>contain-body-dir-002.html</a>
482
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-dir-003.html>contain-body-dir-003.html</a>
483
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-dir-004.html>contain-body-dir-004.html</a>
484
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-overflow-001.html>contain-body-overflow-001.html</a>
485
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-overflow-002.html>contain-body-overflow-002.html</a>
486
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-overflow-003.html>contain-body-overflow-003.html</a>
487
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-overflow-004.html>contain-body-overflow-004.html</a>
488
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-t-o-001.html>contain-body-t-o-001.html</a>
489
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-t-o-002.html>contain-body-t-o-002.html</a>
490
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-t-o-003.html>contain-body-t-o-003.html</a>
491
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-t-o-004.html>contain-body-t-o-004.html</a>
492
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-w-m-001.html>contain-body-w-m-001.html</a>
493
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-w-m-002.html>contain-body-w-m-002.html</a>
494
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-w-m-003.html>contain-body-w-m-003.html</a>
495
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-body-w-m-004.html>contain-body-w-m-004.html</a>
496
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-bg-001.html>contain-html-bg-001.html</a>
497
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-bg-002.html>contain-html-bg-002.html</a>
498
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-bg-003.html>contain-html-bg-003.html</a>
499
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-bg-004.html>contain-html-bg-004.html</a>
500
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-dir-001.html>contain-html-dir-001.html</a>
501
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-dir-002.html>contain-html-dir-002.html</a>
502
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-dir-003.html>contain-html-dir-003.html</a>
503
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-dir-004.html>contain-html-dir-004.html</a>
504
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-overflow-001.html>contain-html-overflow-001.html</a>
505
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-overflow-002.html>contain-html-overflow-002.html</a>
506
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-overflow-003.html>contain-html-overflow-003.html</a>
507
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-overflow-004.html>contain-html-overflow-004.html</a>
508
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-t-o-001.html>contain-html-t-o-001.html</a>
509
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-t-o-002.html>contain-html-t-o-002.html</a>
510
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-t-o-003.html>contain-html-t-o-003.html</a>
511
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-t-o-004.html>contain-html-t-o-004.html</a>
512
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-w-m-001.html>contain-html-w-m-001.html</a>
513
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-w-m-002.html>contain-html-w-m-002.html</a>
514
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-w-m-003.html>contain-html-w-m-003.html</a>
515
+ <li> <a href=https://wpt.fyi/results/css/css-contain/contain-html-w-m-004.html>contain-html-w-m-004.html</a>
516
+ </ol>
517
+ </details>
518
+ </div>
401
519
402
520
<h2 id='containment-types'>
403
521
Types of Containment</h2>
@@ -1150,6 +1268,11 @@ This appendix is <em>informative</em>.
1150
1268
and improve the general legibility.
1151
1269
The intended behavior is unaltered.
1152
1270
1271
+ <li>
1272
+ Marked as <a href="#c3">Candidate Correction 3</a> :
1273
+ Define the effects of containment on outwards propagation of properties
1274
+ from the HTML <{body}> element.
1275
+
1153
1276
<li>
1154
1277
Editorial tweaks:
1155
1278
<ul>
0 commit comments