@@ -951,53 +951,18 @@ HTML Elements {#unbox-html}
951951
952952 : <{br}>
953953 : <{wbr}>
954- ::
955- Issue: Ask the WG.
956- Probably should just treat as ''display: none'' ,
957- because they normally don't have contents,
958- but theoretically they could be treated as "containing" a line feed or zwnj, respectively.
959-
960- : <{button}>
961- ::
962- Issue: Ask the WG.
963- <{button}> is rendered via standard CSS,
964- but it's often a form control,
965- and looks identical to <code> <input type=button></code> ,
966- which is *definitely* in the "semi-replaced" camp
967- that gets ''display: none'' .
968- Which should it be consistent with?
969-
970954 : <{meter}>
971955 : <{progress}>
972- ::
973- Issue: Ask the WG.
974- These elements are probably replaced elements,
975- but they do have reasonable contents inside of them.
976-
977956 : <{applet}>
978957 : <{canvas}>
979958 : <{embed}>
980959 : <{object}>
981- ::
982- When acting as a [=replaced element=] ,
983- ''display: contents'' behaves as ''display: none'' .
984-
985- Issue: When non-replaced and displaying their contents,
986- should we treat as a normal element
987- and just strip the wrapper?
988-
989960 : <{audio}>
990961 : <{iframe}>
991962 : <{img}>
992963 : <{video}>
993- ::
994- ''display: contents'' behaves as ''display: none'' .
995-
996964 : <{frame}>
997965 : <{frameset}>
998- ::
999- ''display: contents'' behaves as ''display: none'' .
1000-
1001966 : <{input}>
1002967 : <{textarea}>
1003968 : <{select}>
@@ -1010,6 +975,7 @@ HTML Elements {#unbox-html}
1010975 so it does not have magical display behavior.
1011976 (Thus, it reacts to ''display: contents'' normally.)
1012977
978+ : <{button}>
1013979 : <{details}>
1014980 : <{fieldset}>
1015981 ::
@@ -1024,65 +990,21 @@ HTML Elements {#unbox-html}
1024990SVG Elements {#unbox-svg}
1025991---------------------------
1026992
1027- <div class=issue>
1028- Discussed in <a href="https://github.com/w3c/svgwg/issues/305">GitHub</a> .
1029-
1030- SVG can be broken down into the following categories of elements:
1031-
1032993 : Root <{svg}>
1033994 ::
1034- Establishes the SVG formatting context.
1035- Three options:
1036-
1037- 1. Treat as ''display: none'' . (Contents can't usefully be hoisted.)
1038- 2. Strip the element,
1039- but generate an anonymous SVG rendering context around contiguous SVG contents.
1040- (In other words, internal SVG elements auto-wrap themselves,
1041- like internal table elements do.)
1042- 3. Strip the element,
1043- treat internal SVG elements similar to unknown HTML elements
1044- (render as inline by default).
995+ ''display: contents'' behaves as ''display: none'' .
1045996
1046997 : Nested <{svg}>
1047998 : <{g}>
1048999 : <{use}> (treated as a Shadow DOM container)
1049- ::
1050- Basically just a wrapping element,
1051- could reasonably handle ''display: contents'' normally.
1052-
1053- : Shape elements
1054- ::
1055- Core rendering elements,
1056- and usually empty.
1057- (Contents, if present, are completely ignored.)
1058- Could either strip normally and hoist contents,
1059- or just treat as ''display: none'' .
1060-
1061- : <{text}>
1062- ::
1063- Renders contained text,
1064- but text doesn't display without a <{text}> wrapper.
1065- Therefore, should probably ''display: none'' .
1066-
10671000 : <{tspan}>
10681001 ::
1069- Like a <{span}> ,
1070- can probably usefully be stripped and have the contents hoisted.
1071-
1072- : <{defs}>
1073- :: Could theoretically be stripped and display its contents,
1074- but that has negative usefulness,
1075- so should probably just continue to not display contents.
1076- (In other words, continue to ignore 'display' and suppress all boxes, as normal.)
1002+ ''display: contents'' strips the element from the formatting tree,
1003+ and hoists its contents up to display in its place.
10771004
1078- : all other elements
1005+ : all other SVG elements
10791006 ::
1080- Don't generate boxes anyway,
1081- so they ignore 'display' entirely.
1082- </div>
1083-
1084-
1085-
1007+ ''display: contents'' behaves as ''display: none'' .
10861008
10871009<h2 class=no-num id="acknowledgments">
10881010Acknowledgments</h2>
0 commit comments