The Outline Algorithm Utopia
Browser and UI #2 HTML/ARIA
sakuðž / @sakupi01
saku
Design Technologist / ex-Web Frontend @Cybozu
Goolgle Developer Expert for Web Technologies
ð / â / ð >
The Outline Algorithm Utopia
â» ãã®ã¹ã©ã€ã㯠The Outline Algorithm Utopia ã®å 容ã«åºã¥ããŸã
ãã©ãŠã¶ããã®ãç¥ãã
ãã©ãŠã¶ããã®ãç¥ãã: UA Style ãå€ãããŸã

Intent to Deprecate and Remove: Deprecate special font size rules for H1 within some elements
Intent to unship: UA styles for h1 in article, aside, nav, section
Remove UA style for h1-h6 in section (et. al.) and hgroup · Issue #7867 · whatwg/html
Remove UA styles for h1 in article, aside, nav, section by zcorpan · Pull Request #11102 · whatwg/html
äœãã©ãå€ããïŒ
<body>
<h1>I'm a Level 1 Heading.</h1>
<section>
<h1>I'm a Level 1. Supposed to act as a Level 2.</h1>
<section>
<h1>I'm a Level 1. Supposed to act as a Level 3.</h1>
<section>
<h1>I'm a Level 1. Supposed to act as a Level 4.</h1>
<section>
<h1>I'm a Level 1. Supposed to act as a Level 5.</h1>
</section>
</section>
</section>
</section>
</body>
~ 2025/03

<section> ã®ãã¹ããæ·±ããªãã«ã€ããŠã margin ãš font-size ãå°ãããªã
2025/03 ~

<section> ã®ãã¹ãé¢ä¿ãªããh1 ã§ããã° h1 ã® margin ãš font-size
â æ®µéçã«ããŒã«ã¢ãŠã
ãªãïŒ
ãªãïŒ
ãããããªãã§ãã¹ãã«ãã£ãŠèŠãç®ãå€ãã£ãŠããã®ãïŒ
ãªãïŒ
ãããããªãã§ãã¹ãã«ãã£ãŠèŠãç®ãå€ãã£ãŠããã®ãïŒ
ããã«ãã£ãŠäœãåé¡ãšãªã£ãŠããã®ãïŒ
ãªãïŒ
ãããããªãã§ãã¹ãã«ãã£ãŠèŠãç®ãå€ãã£ãŠããã®ãïŒ
ããã«ãã£ãŠäœãåé¡ãšãªã£ãŠããã®ãïŒ
ãã®å€æŽãæå³ãããã®ãšã¯ïŒ
ãªãïŒ
ãããããªãã§ãã¹ãã«ãã£ãŠèŠãç®ãå€ãã£ãŠããã®ãïŒ
ããã«ãã£ãŠäœãåé¡ãšãªã£ãŠããã®ãïŒ
ãã®å€æŽãæå³ãããã®ãšã¯ïŒ
次ã«äœãåŸ
ã£ãŠããïŒ
Back to over 30 years ago ... ðž
Flat Content
- Brian Kardell ã®äž»åŒµãåããã®ã§ããã°ãHTML ã®èšèšææ³ã¯ããã®å身ãšãªããã©ãããªæ§é ã®ããŒã¯ã¢ããèšèªïŒGMLïŒã«é¡ããšãããŠãã
- èŠçŽ ã¯åã«èŠèŠçãªããŒã«ãŒãšããŠæ©èœããç¹ã«
<p>ãªã©ã®èŠçŽ ã§ã¯ãéãã¿ã°ã¯å¿ èŠãªããšèããããŠããç¯ããã
<h1>This marks the top level heading
<p>You can know that this is a paragraph and not heading...
æ§é ç㪠Document Model - DOM, The Accessibility Tree
- ããã°ã©ã çãªå©çšã«ãããæ§é è§£éãå¿
èŠã«ãªã
- DOM, The Accessibility Tree
- èŠèŠç㪠Semantics ãš æ§é ç㪠Semantics ã®éã«äžæŽåãçããããã§ã¯å°ãïŒ
ãèŠåºãã¬ãã«ã®èªåãã³ããªã³ã°ãããã©ãŠã¶åŽã§ãã£ãŠããŸãã°ããã®ã§ã¯ã»ã»ã»ïŒ
èŠåºãã¬ãã«ã®é©åãªãã³ããªã³ã°ã¯ãå®å šã«éçºããåŽã«å§ããããŠãã ãèŠåºãã¬ãã«ã®èªåãã³ããªã³ã°ããå®çŸããã°ããã©ãŠã¶åŽã§ã¢ã¯ã»ã·ãã«ãª DOM æ§é ãæ ä¿ã§ããŠããã®ã§ã¯...ïŒ
The Birth of Utopia
Sectioning & Document Outline Algorithm
- ææžã Sectioning ãã
<section>ã<article>ãªã©ã® Sectioning Content Element ãŸã㯠Sectioning Root ã䜿çšããå Žå- h1-6 ã®èŠåºãèŠçŽ ã䜿çšããŠäœæãããããæé»ã®ã»ã¯ã·ã§ã³ãã䜿çšããå Žå
<hgroup>èŠçŽ ã䜿çšããŠã°ã«ãŒãåããã»ã¯ã·ã§ã³ã®èŠåºãã䜿çšããå Žå
- ããã«ãã£ãŠãâOutlineâ ãšãããHeading ãæã£ã Section ã§æ§æãããæ ã ãçæãã
- ãã®éå±€æ§é ãæ±ºå®ããã¢ã«ãŽãªãºã ããå®ã« Document Outline Algorithm
<body>
<h4>Apples</h4>
<p>Apples are fruit.</p>
<section>
<h2>Taste</h2>
<p>They taste lovely.</p>
<h6>Sweet</h6>
<p>Red apples are sweeter than green ones.</p>
<h1>Color</h1>
<p>Apples come in various colors.</p>
</section>
</body>
<body>
<h1>Apples</h1>
<p>Apples are fruit.</p>
<section>
<h2>Taste</h2>
<p>They taste lovely.</p>
<section>
<h3>Sweet</h3>
<p>Red apples are sweeter than green ones.</p>
</section>
</section>
<section>
<h2>Color</h2>
<p>Apples come in various colors.</p>
</section>
</body>
as-is
Sectioning Root
Sectioning Content Element
æé»ã®ã»ã¯ã·ã§ã³
æé»ã®ã»ã¯ã·ã§ã³
to-be
Sectioning Content Element
æé»ã®ã»ã¯ã·ã§ã³
æé»ã®ã»ã¯ã·ã§ã³
<body>
<h1>I'm a Level 1 Heading.</h1>
<section>
<h1>I'm a Level 1. Supposed to act as a Level 2.</h1>
<section>
<h1>I'm a Level 1. Supposed to act as a Level 3.</h1>
<section>
<h1>I'm a Level 1. Supposed to act as a Level 4.</h1>
<section>
<h1>I'm a Level 1. Supposed to act as a Level 5.</h1>
</section>
</section>
</section>
</section>
</body>
<body>
<h1>I'm a Level 1 Heading.</h1>
<section>
<h2>I'm a Level 1. Supposed to act as a Level 2.</h2>
<section>
<h3>I'm a Level 1. Supposed to act as a Level 3.</h3>
<section>
<h4>I'm a Level 1. Supposed to act as a Level 4.</h4>
<section>
<h5>I'm a Level 1. Supposed to act as a Level 5.</h5>
</section>
</section>
</section>
</section>
</body>
as-is
Sectioning Root
Sectioning Content Element
Sectioning Content Element
Sectioning Content Element
Sectioning Content Element
to-be
ããã©ãããªæ§é ããåºæ¬ãšããŠãã HTML ã«ãéå±€æ§é ã衚çŸãããšããç»æçãªã¢ã€ãã£ã¢ãæã¡èŸŒãŸãã
... ãããããŠããã
ãå
šéš <h1> 䜿ã£ãŠããSectioning ããšãã°ããã©ãŠã¶ã âããæãâ ã«ããŠãããïŒïŒã
Sections may contain headings of any rank, but authors are strongly encouraged to either use only h1 elements, or to use elements of the appropriate rank for the sectionâs nesting level.
ã»ã¯ã·ã§ã³å ã«ã¯ä»»æã®ã©ã³ã¯ãå«ããããšãã§ããŸãããèè ã¯h1 èŠçŽ ã®ã¿ã䜿çšããããã»ã¯ã·ã§ã³ã®ãã¹ãã«å¿ããã©ã³ã¯ã®èŠåºããèšè¿°ããããšãæšå¥šããŸãã
4.3 Sections â HTML 5.1 Nightly https://web.archive.org/web/20121214011658/http://www.w3.org/html/wg/drafts/html/master/sections.html#headings-and-sections
ãã©ãŠã¶ïŒãå®è£ ãããïŒã

ãã»ããšã ïŒã
ãã»ããšãã«ïŒïŒã

âThe Algorithmâ was the only missing piece
ãã©ãŠã¶ã¯ Sectioning ãå šãå ·çŸåããªãã£ãããã§ã¯ãªã
<section>ã<article>ã<nav>ãšãã£ã Sectioning Content Element ãå®è£- Section ã®ãã¹ãã¬ãã«ã«å¿ãã UA Style ãæäŸ
Section ã®ãã¹ããæ·±ããªãã»ã© margin ãš font-size ãå°ãããªããããªã¹ã¿ã€ã«ãé©çšãããèŠãç®äžã¯ãèŠåºãã¬ãã«ãèªå調æŽããããããã«
âThe Algorithmâ was the only missing piece
- Sectioning ãé§äœ¿ããããŒã¯ã¢ãããããŠããOutline Algorithm èªäœã¯å®è£ ãããŠããªãã®ã§ãæ§é ç㪠Semantics ãšããŠããã°ã©ã ã«äŒãããªããæ¯æŽæè¡ã«äŒãããªã
- åé¡ã ã£ããã®ïŒãèŠèŠç㪠Semanticsããšãæ§é ç㪠Semanticsãã®äžæŽåïŒããäœã解決ãããŠããªã

Outline Algorithm in HTML5 Era
Outline Algorithm ãåæãšããèšè¿°ãåé€ãèŠåæã远å
â Warning! There are currently no known native implementations of the outline algorithm in graphical browsers or assistive technology user agents, although the algorithm is implemented in other software such as conformance checkers and browser extensions. Therefore the outline algorithm cannot be relied upon to convey document structure to users. Authors should use heading rank (h1-h6) to convey document structure.
HTML 5.2: 4.3. Sections https://html.spec.whatwg.org/multipage/sections.html#creating-an-outline
ãæ§é ç㪠Semanticsã ããèŠèŠç㪠Semanticsãã«åãããããšã諊ããçœçŽã«æ»ãããšãã¯ããã
Outline Algorithm in HTML Living Standard Era
- Living Standard ã«ãªã段éã§ãã®æ³šææžããåé€ããã
ãã®é㯠HTML ã®æšæºã W3C ã® HTML5.x ãã WHATWG ã® Living Standard ã«å€é·ããŠãã£ãæéã§ããã
Outline Algorithm in HTML Living Standard Era
-
Living Standard ã«ãªã段éã§ Outline Algorithm ã«é¢ããæ³šææžããåé€ããã
-
Living Standard ã®ä»æ§ãã Outline Algorithm ã«é¢ããŠèª€è§£ãæãèšè¿°ãåé€ãã PR
- Suggest adding a warning about outline algorithm · Issue #83 · whatwg/html
- çŽ 7 幎éãè°è«ãããããšã«
-
åã«ä»æ§ãšççŸããèŠåãèŒããã«ãšã©ãŸãããã¢ã«ãŽãªãºã èªäœãæ¶ããå®è£ ãããã®åé¡ãŸã§æ³¢åããŠããããããè°è«ãé£èªãããåå ã«ãªã£ãïŒ
ãã®é㯠HTML ã®æšæºã W3C ã® HTML5.x ãã WHATWG ã® Living Standard ã«å€é·ããŠãã£ãæéã§ããã
ããã«å¯Ÿã㊠Steve Faulkner ã 2015 幎㫠Issue ãç«ãŠãLiving Standard ã®ä»æ§ãã Outline Algorithm ã«é¢ããŠèª€è§£ãæãèšè¿°ãåé€ãã PR ãæåºãããããçŽ 7 幎éãè°è«ãããããšã«ãªããŸãã WHATWG ã§ã®è°è«ã¯ã仿§ãšççŸããèŠåãèŒããã®ã§ã¯ãªããã¢ã«ãŽãªãºã èªäœãæ¶ããå®è£ ãããã®åé¡ã«ãªã£ãŠããããããè°è«ãé£èªãããåå ã«ãªã£ãã®ã ãšæããŸãã
ãOutline Algorithm ã¯äžåã«å®è£ ãããªãããStructural ãªã³ã³ãã³ãã¯çŸä»£ã® Web ã«ãšã£ãŠæ¬ ãããªãããªãã°ãå¥ã®ææ®µã§ Structural ãªæå³ã HTML ã«æãããããšã¯ã§ããªããïŒã
ããããã® 7 幎éãåšãã¯ãã åŸ ã£ãŠããã ããªã®ããšãããšããããããã§ã¯ãªã
ãOutline Algorithm ã¯äžåã«å®è£ ãããªãããStructural ãªã³ã³ãã³ãã¯çŸä»£ã® Web ã«ãšã£ãŠæ¬ ãããªãããªãã°ãå¥ã®ææ®µã§ Structural ãªæå³ã HTML ã«æãããããšã¯ã§ããªããïŒã
<h>- Heading Level Concept
Over 34 yearâs old, yet brand-new: <h>
<h> ãšããã¢ã€ãã£ã¢èªäœã¯ãå®ã¯ Tim Berners-Lee ã Web ãå§ããã°ããã® 1991 幎ããååšãã
I would in fact prefer, instead of
<H1>,<H2>etc for headings [those come from the AAP DTD] to have a nestable<SECTION>..</SECTION>element, and a generic<H>..</H>which at any level within the sections would produce the required level of heading.
www-talk from September to October 1991: Re: status. Re: X11 BROWSER for WWW
<h>ïŒ
æ¢ã«å®è£ æžã¿ã® Sectioning Content Elements ãšçµã¿åãããOutline Algorithm ã«ãã£ãŠãSection ã®ã³ã³ããã¹ãã«å¿ããèŠåºãã¬ãã«ãèªåçã«æ±ºå®ããããã«ææ¡ãããèŠçŽ
<section>
<h>I can be any Level depending on the section context!</h>
<p>paragraph</p>
</section>
<h> 以å€ã® Headings ã deprecated åè£ãšããXHTML2.0 ã®ä»æ§ã«ã¯ãããå«ãŸããããšã«
çµå± h1-6 ã¯æ®ããããŸãŸã§ãããã©ããã XHTML 2.0 èªäœãæŸçœ®ãããè¬ã ããã®ãŸãŸçµãã ...
Re-visit <h>
HTML5 ã§ã <h> ã®è¿œå ãææ¡ããã
<h>ã®æã€ççŸ
課é¡ïŒHTML ãšããŠããOutline Algorithm ãå®è£
ãããªãããšãã課é¡ã ã£ãã®ã«ã
解決çïŒ<h>ã¯ãOutline Algorithm ãå©çšããæ°èŠæ¹æ³ãã ã£ã
æ ¹æ¬çãªè§£æ±ºçã«ã¯ãªããã»ã»ã»
HTML ãšã㊠â課é¡â ã ã£ãã®ã¯ãOutline Algorithm ãå®è£ ãããªãããšãã ã£ãã®ã«ã çµæãšããŠåºã â解決çâ ã¯ãOutline Algorithm ãå©çšããæ°èŠæ¹æ³ã
Heading Level Concept
ãOutline Algorithm ã§ Outline ãçæããããšãã§ã¯ãªããSectioning Content å ã®èŠåºãã¬ãã«ã調æŽããããšãã«çŠç¹ãåœãŠã Anne van Kesteren ã®ææ¡
// https://github.com/annevk/html-heading-level-polyfill/blob/main/polyfill.js
function determineLevel(el) {
let level = 1;
// Arguably the parentNode being null check can be removed as it will never be null when this and
// the function below are run on a document, as is the case.
//
// This is "sectioning content" and "sectioning roots"
while (el.parentNode && (el = el.parentNode.closest("article,aside,nav,section,blockquote,details,dialog,fieldset,figure,td"))) {
level += 1;
}
return level;
}
Anne ã®äœã£ã Heading Levels ã® Polyfill ãã® Polyfill ã®ã¢ã«ãŽãªãºã ã¯éåžžã«ã·ã³ãã«ã§ã
ã ã® Sectioning Content ããã©ããSectioning ã«ãã¹ããããæ¯ã«ã¬ãã«ãå ç®ã㊠aria-level 屿§ã«èšå®ãããšãããã®
ãããé¡§å®¢ãæ¬åœã«æ±ããŠãããã®ã»ã»ã»ïŒ
- Outline Algorithm ãšããæºäžã®ç©ºè«ã䞻匵ãç¶ããªã
- Outline Algorithm ãå€§å¹ ã«ç°¡ç¥åããSection Content ã®ãã¹ãã¬ãã«ãã«ãŠã³ãããã ã
- âããã°ã©ã çãªå©çšã«ãããæ§é è§£éã®éèŠæ§â ãšããä»ã® Web ããæ¯æŽæè¡ãå©çšãããŠãŒã¶ãã å«ç·ã§å¿ èŠãšããŠãããã®ã«ã¢ãããŒãããŠãã
ãã®ç¹ã§ãHeading Level Concept ã¯éåžžã«çã®éã£ãææ¡ã ã£ã
Heading Level Concept ã¯é æ«ãOutline Algorithm 廿¢ãž
h1ãæ¶å€±ããåŸæ¹äºæã®åé¡ãçºçïŒ
Unfortunately, this was not a success (too many h1s got adjusted to be h2s) so weâve removed this code and abandoned this particular plan for dealing with heading levels in HTML: https://bugzilla.mozilla.org/show_bug.cgi?id=1590366.
Intent to prototype: heading levels
<body>
<main>
<article>
<h1>Level 3ã»ã»ã»ïŒ</h1>
</article>
</main>
</body>
Outline Algorithm ã®æŠå¿µã廿¢ãã PR ãžã®å¥æ©ãšãªã£ã:
Sectioning Content Element
Sectioning Content Element
ã¬ãã« = 1+2 = 3 ã«ãªã£ãŠããŸã
ãšã¯ãããHeading Level Concept ã«ãã£ãŠãé·å¹Žæ»ã£ãŠãã Outline Algorithm ã®è°è«ã«ã¡ã¹ãå ¥ããããã Outline Algorithm ã®æŠå¿µã廿¢ãã PR ã«ã€ãªãããŸããã
å šãŠãçµãã£ãã»ã»ã»ïŒ
åé¡: ãèŠèŠç㪠Semanticsããšãæ§é ç㪠Semanticsãã®äžæŽå
解決ç: 以äžã® 2 æ¡ä»¶ãæãããš
- â
ãèŠèŠç㪠Semanticsãã ãæ§é ç㪠Semanticsã ã«åããã
- Sectioning ãæèããã¹ã¿ã€ã«ã®å®è£
- ãæ§é ç㪠Semanticsã ã ãèŠèŠç㪠Semanticsã ã«åãããïŒãã£ã¡ãé 匵ã£ãŠãïŒ
- Outline Algorithm ãå®è£ ãã
åé¡: ãèŠèŠç㪠Semanticsããšãæ§é ç㪠Semanticsãã®äžæŽå
解決ç: 以äžã® 2 æ¡ä»¶ãæãããš
- â
ãèŠèŠç㪠Semanticsãã ãæ§é ç㪠Semanticsã ã«åããã
- Sectioning ãæèããã¹ã¿ã€ã«ã®å®è£
ãæ§é ç㪠Semanticsã ã ãèŠèŠç㪠Semanticsã ã«åãããïŒãã£ã¡ãé æ«ããïŒOutline Algorithm ãå®è£ ãã<h>ã®ææ¡ã¯ Reject- Anne ã® Heading Level Concept (v1)ã¯é æ«
- Outline Algorithm ã仿§ããåé€
åé¡: ãèŠèŠç㪠Semanticsããšãæ§é ç㪠Semanticsãã®äžæŽå
解決ç: 以äžã® 2 æ¡ä»¶ãæãããš
- â
ãèŠèŠç㪠Semanticsãã ãæ§é ç㪠Semanticsã ã«åãããïŒãã£ã¡ã ãæ®ã£ãïŒ
- Sectioning ãæèããã¹ã¿ã€ã«ã®å®è£
ãæ§é ç㪠Semanticsã ã ãèŠèŠç㪠Semanticsã ã«åãããïŒãã£ã¡ãé æ«ããïŒOutline Algorithm ãå®è£ ãã<h>ã®ææ¡ã¯ Reject- Anne ã® Heading Level Concept (v1)ã¯é æ«
- Outline Algorithm ã仿§ããåé€
30 幎以äžããèŠèŠç㪠Semanticsããšãæ§é ç㪠Semanticsãã®äžæŽåãšããåé¡ãæ±ãç¶ãããã£ãšããæ§é ç㪠Semanticsã ã ãèŠèŠç㪠Semanticsã ã«åããããæ¹åã§è§£æ±ºããããšããŠããã®ã«ãçµå±ãã£ãšäžæŽåãªãŸãŸã ã£ã
åé¡: ãèŠèŠç㪠Semanticsããšãæ§é ç㪠Semanticsãã®äžæŽå
解決ç: 以äžã® 2 æ¡ä»¶ãæãããš
- â
ãèŠèŠç㪠Semanticsãã ãæ§é ç㪠Semanticsã ã«åãããïŒãã£ã¡ãåé€ããæ¹åã§æãããšããæ¥ãïŒ
- Sectioning ãæèããã¹ã¿ã€ã«ã®å®è£
ãæ§é ç㪠Semanticsã ã ãèŠèŠç㪠Semanticsã ã«åãããïŒãã£ã¡ãé æ«ããïŒOutline Algorithm ãå®è£ ãã<h>ã®ææ¡ã¯ Reject- Anne ã® Heading Level Concept (v1)ã¯é æ«
- Outline Algorithm ã仿§ããåé€
ãã©ãŠã¶ããã®ãç¥ãã: UA Style ãå€ãããŸã

ãããåé€ãããïŒ
In the following CSS block, x is shorthand for the following selector: :is(article, aside, nav, section)
@namespace "http://www.w3.org/1999/xhtml";
x h1 { margin-block: 0.83em; font-size: 1.50em; }
x x h1 { margin-block: 1.00em; font-size: 1.17em; }
x x x h1 { margin-block: 1.33em; font-size: 1.00em; }
x x x x h1 { margin-block: 1.67em; font-size: 0.83em; }
x x x x x h1 { margin-block: 2.33em; font-size: 0.67em; }
åé¡: ãèŠèŠç㪠Semanticsããšãæ§é ç㪠Semanticsãã®äžæŽå
解決ç: 以äžã® 2 æ¡ä»¶ãæãããš
ãèŠèŠç㪠Semanticsãã ãæ§é ç㪠Semanticsã ã«åãããOutline Algorithm ã® UA Style ãå®è£ ãã
ãæ§é ç㪠Semanticsã ã ãèŠèŠç㪠Semanticsã ã«åãããOutline Algorithm ãå®è£ ãã<h>ã®ææ¡ã¯ Reject- Anne ã® Heading Level Concept (v1)ã¯é æ«
- Outline Algorithm ã仿§ããåé€
â ã©ã£ã¡ãåé€ãããšããããšã§æŽåãã
Outline Algorithm ã®éå¹
Outline Algorithm ãåãå·»ã 30 äœå¹Žã®äžã§ãäœãã©ãå€ãã£ãã»ã»ã»ïŒ
ãèŠèŠç㪠Semanticsããšãæ§é ç㪠Semanticsãã®äžæŽåã¯ã30 幎以äžãããŠãã£ãšè§£æ¶ããããã©ã
ãã£ãš Outline Algorithm ã¯å®è£ ãããããã©ãããªææžæ§é ã®äžã«ãã
Outline Algorithm ã®éå¹ã瀺åããããš:
ïŒãšããããä»ã¯ã»ã»ã»ïŒæ§é çã«æ£ããããŒã¯ã¢ããã
- èŠåºãã¬ãã«ãé©åã«äœ¿çšããïŒh1 ããé ã«éå±€çã«äœ¿ããã¬ãã«ãã¹ãããããªã
- èŠãç®ã§ã¯ãªãæ§é ã§ïŒCSSã§èŠãç®ã調æŽããã®ã¯èªç±ã ãããŸãã¯æå³çã«æ£ããæ§é ãæ§ç¯ãã
- ã¢ã¯ã»ã·ããªãã£ã念é ã«çœ®ãïŒã¹ã¯ãªãŒã³ãªãŒããŒãªã©ã®æ¯æŽæè¡ãæ£ããè§£éã§ããææžæ§é ã®æ§ç¯ããã
markuplint ãšããHTML validator ãšã...
次ã«äœãåŸ ã£ãŠããïŒ
[WIP!] Mechanism for opting-in for Heading Level ConceptïŒ
Heading Level Concept (v2)
Heading Level Concept (v2)
- Anne ã® Heading Level Concept ãå®çŸããæ°ããªè§£æ±ºçãšããŠã
headingoffset&headingresetãå°å ¥- ãh1 ãããã¥ã¡ã³ãããæ¶æ» ããããªã©ã®åé¡ãè§£æ¶ãã€ã€ãHeading Level Concept ããªããã€ã³
- Outline Algorithm ã§ãªãæ¹æ³ã§èŠåºãã®èªå調æŽ
- èŠåºãã¬ãã«ã h1~6 ã«éãããªããªã â
:heading&:heading(N)
More DetailsïŒ #[WIP!] Mechanism for opting-in for Heading Level Concept
headingoffset & headingreset attributes
- Chrome Dev 136 ã®ãã«ããã確èªã§ãã
HTMLã«ãããŠãèŠèŠç㪠Semanticsãããæ§é çãªæå³ãããåªå ãããçµæãå€ãã®æ··ä¹±ãçãããèŠèŠãæ£ããããã«èŠããã°æ§é ãã¡ãã£ã¯ãã£ã§ãæ°ã«ããªããšããç¶æ³ãçã¿åºããŠããŸã£ã