diff --git a/source b/source index 61f30552fe3..35986b02358 100644 --- a/source +++ b/source @@ -13194,6 +13194,8 @@ https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20HTML%3E%
  • draggable
  • enterkeyhint
  • hidden
  • +
  • headingoffset
  • +
  • headingreset
  • inert
  • inputmode
  • is
  • @@ -19351,8 +19353,9 @@ interface HTMLHeadingElement : HTMLElement {

    Headings and outlines

    -

    h1h6 elements have a heading level, which is given - by the number in the element's name.

    +

    h1h6 elements have a heading level, which is + given by getting the element's computed + heading level.

    These elements represent headings. The lower a HTMLHeadingElement : HTMLElement { +

    Heading Levels & Offsets
    + +

    The headingoffset + content attribute allows authors to offset heading levels for child elements.

    + +

    The headingreset + content attribute allows authors prevent a heading offset computation from traversing beyond this + point.

    + +

    To get an element's comptued heading level, given an element element, + perform the following steps:

    + +
      +
    1. Let level be zero.

    2. + +
    3. Let max be zero.

    4. + +
    5. If element's local name is h1 then set + level to 1 and max to 8.

    6. + +
    7. If element's local name is h2 then set + level to 2 and max to 7.

    8. + +
    9. If element's local name is h3 then set + level to 3 and max to 6.

    10. + +
    11. If element's local name is h4 then set + level to 4 and max to 5.

    12. + +
    13. If element's local name is h5 then set + level to 5 and max to 4.

    14. + +
    15. If element's local name is h6 then set + level to 6 and max to 3.

    16. + +
    17. Assert: level is not zero.

    18. + +
    19. Assert: max is not zero.

    20. + +
    21. Add the result of getting an + element's computed heading offset given element and max to + level.

    22. + +
    23. Assert: level is not greather than 9.

    24. + +
    25. Return level.

    26. +
    + +

    To get an element's computed heading offset, given an element element, + and a non-negative integer max, perform the following steps. They return a + non-negative integer.

    + +
      +
    1. Let offset be element's headingoffset attribute value.

    2. + +
    3. If offset is less than zero, set offset to zero.

    4. + +
    5. If the headingreset attribute is present, then + return offset.

    6. + +
    7. Let ancestor be element.

    8. + +
    9. +

      While child is not null:

      + +
        +
      1. Let nextAncestor be the parent node of + ancestor within the flat tree.

      2. + +
      3. If nextAncestor's headingreset + attribute is present, then return offset.

      4. + +
      5. Let nextOffset be nextAncestor's headingoffset attribute value.

      6. + +
      7. If nextOffset is less than zero, set nextOffset to zero.

      8. + +
      9. Add nextOffset to offset.

      10. + +
      11. If offset is greater than or equal to max, then return + max.

      12. +
      +
    10. + +
    11. Return offset.

    12. +
    Sample outlines