Make WordPress Core


Ignore:
Timestamp:
11/17/2023 06:11:31 AM (17 months ago)
Author:
Bernhard Reiter
Message:

HTML API: Add support for containers elements, including ARTICLE.

There are a handful of elements which behave similarly and are generically container elements. These are the following elements:

ADDRESS, ARTICLE, ASIDE, BLOCKQUOTE, CENTER, DETAILS, DIALOG, DIR,
DL, DIV, FIELDSET, FIGCAPTION, FIGURE, FOOTER, HEADER, HGROUP, MAIN,
MENU, NAV, SEARCH, SECTION, SUMMARY

This patch adds support to the HTML Processor for handling these elements. They do not require any additional logic in the rest of the class, and carry no specific semantic rules for parsing beyond what is listed in their group in the IN BODY section of the HTML5 specification.

Props dmsnell.
Fixes #59914.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/html-api/wpHtmlProcessorBreadcrumbs.php

    r56943 r57115  
    3838        $supported_elements = array(
    3939            'A',
     40            'ADDRESS',
     41            'ARTICLE',
     42            'ASIDE',
    4043            'B',
    4144            'BIG',
    4245            'BUTTON',
     46            'CENTER', // Neutralized
    4347            'CODE',
     48            'DETAILS',
     49            'DIALOG',
     50            'DIR',
    4451            'DIV',
     52            'DL',
    4553            'EM',
     54            'FIELDSET',
    4655            'FIGCAPTION',
    4756            'FIGURE',
    4857            'FONT',
     58            'FOOTER',
     59            'HEADER',
     60            'HGROUP',
    4961            'I',
    5062            'IMG',
     63            'MAIN',
     64            'MENU',
     65            'NAV',
    5166            'P',
     67            'SEARCH',
     68            'SECTION',
    5269            'SMALL',
    5370            'SPAN',
    5471            'STRIKE',
    5572            'STRONG',
     73            'SUMMARY',
    5674            'TT',
    5775            'U',
     
    100118            'ABBR',
    101119            'ACRONYM', // Neutralized
    102             'ADDRESS',
    103120            'APPLET', // Deprecated
    104121            'AREA',
    105             'ARTICLE',
    106             'ASIDE',
    107122            'AUDIO',
    108123            'BASE',
     
    115130            'CANVAS',
    116131            'CAPTION',
    117             'CENTER', // Neutralized
    118132            'CITE',
    119133            'COL',
     
    123137            'DD',
    124138            'DEL',
    125             'DETAILS',
    126139            'DEFN',
    127             'DIALOG',
    128             'DL',
    129140            'DT',
    130141            'EMBED',
    131             'FIELDSET',
    132             'FOOTER',
    133142            'FORM',
    134143            'FRAME',
     
    141150            'H6',
    142151            'HEAD',
    143             'HEADER',
    144             'HGROUP',
    145152            'HR',
    146153            'HTML',
     
    156163            'LINK',
    157164            'LISTING', // Deprecated, use PRE instead.
    158             'MAIN',
    159165            'MAP',
    160166            'MARK',
    161167            'MARQUEE', // Deprecated
    162168            'MATH',
    163             'MENU',
    164169            'META',
    165170            'METER',
    166171            'MULTICOL', // Deprecated
    167             'NAV',
    168172            'NEXTID', // Deprecated
    169173            'NOBR', // Neutralized
     
    188192            'SAMP',
    189193            'SCRIPT',
    190             'SECTION',
    191194            'SELECT',
    192195            'SLOT',
     
    195198            'STYLE',
    196199            'SUB',
    197             'SUMMARY',
    198200            'SUP',
    199201            'SVG',
     
    349351                2,
    350352            ),
     353            'MAIN inside MAIN inside SPAN'          => array( '<span><main><main target>', array( 'HTML', 'BODY', 'SPAN', 'MAIN', 'MAIN' ), 1 ),
     354            'MAIN next to unclosed P'               => array( '<p><main target>', array( 'HTML', 'BODY', 'MAIN' ), 1 ),
    351355        );
    352356    }
Note: See TracChangeset for help on using the changeset viewer.