Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deprecate content for void elements in TagBuilder
According to the [HTML5 Spec][1] > Void elements can't have any contents (since there's no end tag, no > content can be put between the start tag and the end tag). Up to this point, the only special handling of void elements has been to use ">" to close them instead of "/>" (which is optional but valid according to the spec) > Then, if the element is one of the void elements, ... , then there may > be a single U+002F SOLIDUS character (/), ... . On void elements, it > does not mark the start tag as self-closing but instead is unnecessary > and has no effect of any kind. This commit deprecates the ability to pass content (either through the positional "content" parameter or a block) to a void element since it is not valid according to the Spec. This has the benefit of both encouraging more correct HTML generation, and also simplifying the method definition of void elements once the deprecation has been removed. This commit additionally tweaks the signature of "void_tag_string" slightly with two changes. The first change is renaming it to be "self_closing_tag_string". This is more accurate than "void_tag_string" because the definition of "void element" is more specific and has more requirements than "self closing element". For example, tags in the SVG namespace _can_ be self closing but the "/" at the end of the start tag is _not_ optional because they are not void elements. The second change to this method is swapping from a boolean "self_closing" parameter to a string "tag_suffix" parameter. This enables the void element method definition to specialize the tag_suffix (to just ">") without either void elements or self closing elements having to pay the runtime cost of the self_closing conditional since we know at method definition time which suffix each type of tag should use. [1]: https://html.spec.whatwg.org/multipage/syntax.html#void-elements
- Loading branch information