HTML API: Roadmap #60397
Labels
[Feature] Block API
API that allows to express the block paradigm.
[Feature] HTML API
An API for updating HTML attributes in markup
[Type] Tracking Issue
Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
HTML issues | Refactors | Interesting Patches | Broader Roadmap | Plans for 6.7 | Plans for 6.8
See where this work fits in with Dennis' broad list of interesting things in #62437.
Proposed HTML Specification Changes
<select>
parser whatwg/html#10557Untriaged plans.
\r\n
into\n
and then swap\r
for\n
, but beyond that, there aren't specific rules for inter-element whitespace on render. Render is governed by a complicated interaction between elements.<li><p>Stuff
and this should only have a single newline.set_inner_html()
,get_inner_html()
,wrap_with()
,unwrap()
, etc…get_updated_html()
returns the full document with all chunks.extend( string $next_chunk ): ?
makes the internal HTML document bigger and need not return anything.get_updated_html()
will only be able to return the contents of the next chunk.chunk_slide( string $next_chunk ): string
will extend the document, but will also release as much of the previous document that it can, returning the fully-updated portion of the total HTML document that is no longer reachable by a bookmark.html_decode_entities()
with a version that follows HTML's rules, particularly surrounding the;
use and the ambiguous ampersand rule.get_updated_html()
.</p>
implicitly creates a<p>
to form an empty P element, but the HTML processor will not find the opening P tag because it doesn't exist. A CSS selector forP
might miss this or any node it's targeting that depends onnth-child
semantics.Tasks
Bug fixes and quality
Waiting review and merge
Future releases
WordPress 6.6
capital_P_dangit
wp_strip_all_tags()
force_balance_tags()
rewritten as "serialize this HTML"WordPress 6.5
HTML Templating for safe HTML generation.WordPress 6.4
Merged and bound for 6.4
has_class()
andclass_list()
wordpress-develop#5096matches_breadcrumbs()
to HTML Processor for better querying wordpress-develop#5243In progress for WordPress 6.4
IN BODY
mode.class
handling and we need to find the right way to resolve it.Plans for post-6.4 merges
wp_strip_tags()
andtruncate_html()
functionality, which needs to read plaintext content of markup (which needs to ignore comment and other meta content).PRs to revisit
Areas of active exploration
wp_kses_hair()
. [HTML API: Expose raw tag markup to support existing filters wordpress-develop#5143]set_raw_inner_markup()
andget_raw_inner_markup()
(or not, if it's not the right interface). [HTML API: add get/set inner/outer markup wordpress-develop#4956]wp_strip_tags()
function/approach that only parses as much HTML as is necessary. [WIP: HTML API: Extract previous text and HTML chunks while processing. wordpress-develop#5208]HTML Templating
Provide a means to generate HTML conveniently with placeholders. The placeholders should be "funky comments" that mirror array values passed in to the rendering function. This will/should form the basis for raw HTML templating, replacing inner contents, powering Bits so that we can apply heuristics to the replacement markup, and more.
The text was updated successfully, but these errors were encountered: