Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests with invalid HTML void end tags #42076

Open
zcorpan opened this issue Sep 20, 2023 · 0 comments
Open

Tests with invalid HTML void end tags #42076

zcorpan opened this issue Sep 20, 2023 · 0 comments
Labels

Comments

@zcorpan
Copy link
Member

zcorpan commented Sep 20, 2023

I noticed that some rendering test was using <source ...></source> HTML syntax, which is invalid HTML because source is a void element (but doesn't make the test expectations invalid). However, there are also some tests that use </br> end tags, which are parsed like <br> start tags, which might very well not be intentional and make the test expectations invalid, though I haven't investigated them in detail.

We could clean this up and lint it, similar to />:

Files with void end tags in wpt
% git grep -El "</(area|base|br|col|embed|hr|img|input|link|meta|source|track|wbr)>" | grep -E "\.html?$"
FileAPI/url/url_createobjecturl_file_img-manual.html
accessibility/crashtests/br-in-changed-subtree.html
accessibility/crashtests/img-map-pseudo.html
accessibility/crashtests/serialize-with-no-document.html
conformance-checkers/html/elements/br/model-novalid.html
conformance-checkers/html/elements/img/model-novalid.html
conformance-checkers/html/elements/picture/html-syntax-img-end-tag-novalid.html
conformance-checkers/html/elements/picture/html-syntax-source-end-tag-novalid.html
content-security-policy/img-src/img-src-self-unique-origin.html
content-security-policy/object-src/object-src-url-embed-allowed.html
content-security-policy/object-src/object-src-url-embed-blocked.html
content-security-policy/script-src/scripthash-basic-blocked-error-event.html
content-security-policy/script-src/scripthash-changed-1.html
content-security-policy/script-src/scripthash-changed-2.html
content-security-policy/script-src/scriptnonce-changed-1.html
content-security-policy/script-src/scriptnonce-changed-2.html
css/css-break/area-crash.html
css/css-break/area-in-inline-crash.html
css/css-break/table/table-col-paint-htb-ltr.html
css/css-break/table/table-col-paint-vlr-rtl.html
css/css-break/table/table-col-paint-vrl-rtl.html
css/css-color-adjust/rendering/dark-color-scheme/color-scheme-table-border-currentcolor-responsive-ref.html
css/css-color-adjust/rendering/dark-color-scheme/color-scheme-table-border-currentcolor-responsive.html
css/css-contain/contain-layout-baseline-005.html
css/css-contain/container-queries/crashtests/container-type-change-chrome-legacy-crash.html
css/css-contain/container-queries/crashtests/focus-inside-content-visibility-crash.html
css/css-contain/content-visibility/content-visibility-021.html
css/css-contain/content-visibility/content-visibility-024-ref.html
css/css-contain/content-visibility/content-visibility-024.html
css/css-contain/content-visibility/content-visibility-047.html
css/css-contain/content-visibility/content-visibility-auto-selection-crash.html
css/css-contain/content-visibility/detach-locked-slot-children-crash.html
css/css-contain/reference/contain-layout-baseline-005-ref.html
css/css-display/display-contents-unusual-html-elements-none.html
css/css-flexbox/flex-item-z-ordering-001.html
css/css-flexbox/percentage-heights-013.html
css/css-flexbox/reference/flex-item-z-ordering-001-ref.html
css/css-grid/alignment/grid-alignment-implies-size-change-011.html
css/css-grid/alignment/grid-alignment-implies-size-change-012.html
css/css-grid/alignment/grid-alignment-implies-size-change-013.html
css/css-grid/alignment/grid-alignment-implies-size-change-014.html
css/css-grid/alignment/grid-alignment-implies-size-change-015.html
css/css-grid/alignment/grid-alignment-implies-size-change-016.html
css/css-grid/alignment/grid-alignment-implies-size-change-017.html
css/css-grid/alignment/grid-alignment-implies-size-change-018.html
css/css-grid/alignment/grid-alignment-implies-size-change-029.html
css/css-grid/alignment/grid-alignment-implies-size-change-030.html
css/css-grid/alignment/grid-alignment-implies-size-change-031.html
css/css-grid/alignment/grid-alignment-implies-size-change-032.html
css/css-grid/alignment/grid-alignment-implies-size-change-033.html
css/css-grid/alignment/grid-alignment-implies-size-change-034.html
css/css-grid/alignment/grid-alignment-implies-size-change-035.html
css/css-grid/alignment/grid-alignment-implies-size-change-036.html
css/css-grid/alignment/grid-column-axis-alignment-positioned-items-003.html
css/css-grid/alignment/grid-column-axis-alignment-positioned-items-004.html
css/css-grid/alignment/grid-column-axis-alignment-positioned-items-005.html
css/css-grid/alignment/grid-column-axis-alignment-positioned-items-006.html
css/css-grid/alignment/grid-column-axis-alignment-positioned-items-007.html
css/css-grid/alignment/grid-column-axis-alignment-positioned-items-008.html
css/css-grid/alignment/replaced-alignment-with-aspect-ratio-004.html
css/css-grid/alignment/replaced-alignment-with-aspect-ratio-005.html
css/css-grid/alignment/replaced-alignment-with-aspect-ratio-006.html
css/css-grid/alignment/replaced-alignment-with-aspect-ratio-007.html
css/css-grid/alignment/replaced-alignment-with-aspect-ratio-008.html
css/css-grid/alignment/replaced-alignment-with-aspect-ratio-009.html
css/css-images/animation/object-view-box-interpolation.html
css/css-images/image-orientation/image-orientation-from-image-content-images.html
css/css-images/image-orientation/image-orientation-none-content-images.html
css/css-images/image-orientation/image-orientation-none-cross-origin-svg.html
css/css-images/image-orientation/reference/image-orientation-from-image-content-images-ref.html
css/css-images/image-orientation/reference/image-orientation-none-content-images-ref.html
css/css-images/object-view-box-contain-intrinsic-size-ref.html
css/css-images/object-view-box-contain-intrinsic-size.html
css/css-images/object-view-box-empty-bounds-ref.html
css/css-images/object-view-box-empty-bounds.html
css/css-images/object-view-box-fit-contain-img-ref.html
css/css-images/object-view-box-fit-contain-img.html
css/css-images/object-view-box-fit-contain-svg-ref.html
css/css-images/object-view-box-fit-contain-svg.html
css/css-images/object-view-box-fit-cover-img-ref.html
css/css-images/object-view-box-fit-cover-img.html
css/css-images/object-view-box-fit-cover-svg-ref.html
css/css-images/object-view-box-fit-cover-svg.html
css/css-images/object-view-box-fit-fill-img-ref.html
css/css-images/object-view-box-fit-fill-img.html
css/css-images/object-view-box-fit-fill-svg-ref.html
css/css-images/object-view-box-fit-fill-svg.html
css/css-images/object-view-box-fit-none-img-ref.html
css/css-images/object-view-box-fit-none-img.html
css/css-images/object-view-box-fit-none-svg-ref.html
css/css-images/object-view-box-fit-none-svg.html
css/css-images/object-view-box-negative-bounds-ref.html
css/css-images/object-view-box-negative-bounds.html
css/css-images/object-view-box-property-changed-ref.html
css/css-images/object-view-box-property-changed.html
css/css-images/object-view-box-rect-auto-ref.html
css/css-images/object-view-box-rect-auto.html
css/css-images/object-view-box-rect-percentage-ref.html
css/css-images/object-view-box-rect-percentage.html
css/css-images/object-view-box-rect-ref.html
css/css-images/object-view-box-rect.html
css/css-images/object-view-box-same-size-ref.html
css/css-images/object-view-box-same-size.html
css/css-images/object-view-box-size-containment-ref.html
css/css-images/object-view-box-size-containment.html
css/css-images/object-view-box-svg-img-no-size-ref.html
css/css-images/object-view-box-svg-img-no-size.html
css/css-images/object-view-box-writing-mode-img-ref.html
css/css-images/object-view-box-writing-mode-img.html
css/css-images/object-view-box-writing-mode-svg-ref.html
css/css-images/object-view-box-writing-mode-svg.html
css/css-images/object-view-box-xywh-percentage-ref.html
css/css-images/object-view-box-xywh-percentage.html
css/css-images/object-view-box-xywh-ref.html
css/css-images/object-view-box-xywh.html
css/css-multicol/crashtests/multicol-cached-consumed-bsize-crash.html
css/css-overflow/overflow-img-border-radius.html
css/css-overflow/overflow-img-display-table-ref.html
css/css-overflow/overflow-img-display-table.html
css/css-overflow/overflow-img-object-position-ref.html
css/css-overflow/overflow-img-object-position.html
css/css-overflow/overflow-img-ref.html
css/css-overflow/overflow-img-scroll-non-replaced-ref.html
css/css-overflow/overflow-img-scroll-non-replaced.html
css/css-overflow/overflow-img-scroll-replaced-ref.html
css/css-overflow/overflow-img-scroll-replaced.html
css/css-overflow/overflow-img-svg-ref.html
css/css-overflow/overflow-img-svg.html
css/css-overflow/overflow-img.html
css/css-shadow-parts/interaction-with-placeholder-ref.html
css/css-shadow-parts/interaction-with-placeholder.html
css/css-shadow-parts/interaction-with-pseudo-elements.html
css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html
css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html
css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html
css/css-shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html
css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012-ref.html
css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-012.html
css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017-ref.html
css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-017.html
css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020-ref.html
css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-020.html
css/css-sizing/replaced-aspect-ratio-intrinsic-size-001.html
css/css-sizing/replaced-aspect-ratio-intrinsic-size-002.html
css/css-tables/col_removal.html
css/css-tables/crashtests/large-col-widths.html
css/css-tables/height-distribution/computing-row-measure-1.html
css/css-tables/paint/col-paint-htb-rtl-ref.html
css/css-tables/paint/col-paint-htb-rtl.html
css/css-tables/paint/col-paint-vrl-rtl-ref.html
css/css-tables/paint/col-paint-vrl-rtl.html
css/css-tables/table_grid_size_col_colspan.html
css/css-tables/width-distribution/computing-column-measure-0.html
css/css-text/crashtests/rendering-table-caption-with-negative-margins-crash.html
css/css-text/hyphens/hyphens-none-014.html
css/css-text/hyphens/hyphens-none-015.html
css/css-text/white-space/trailing-ideographic-space-break-spaces-007.html
css/css-transforms/crashtests/w-negative-001.html
css/css-ui/caret-color-010.html
css/css-view-transitions/shared-transition-author-style.manual.html
css/css-view-transitions/shared-transition-half.manual.html
css/css-view-transitions/shared-transition-shapes.manual.html
css/selectors/focus-visible-002.html
css/selectors/focus-visible-003.html
css/selectors/focus-visible-004.html
css/selectors/focus-visible-014.html
css/selectors/invalidation/enabled-disabled.html
css/selectors/invalidation/has-with-pseudo-class.html
custom-elements/customized-built-in-constructor-exceptions.html
dom/nodes/ParentNode-querySelector-case-insensitive.html
dom/nodes/getElementsByClassName-30.htm
dom/parts/basic-dom-part-declarative-brace-syntax.tentative.html
editing/crashtests/delete-at-start-of-first-li-in-ol-in-video.html
editing/crashtests/update-dom-during-undoing-in-textarea.html
event-timing/interaction-count-press-key.html
event-timing/keydown.html
event-timing/keyup.html
focus/support/iframe-activeelement-after-focusing-out-different-site-iframes-outer.sub.html
focus/support/iframe-activeelement-after-focusing-out-iframes-inner.html
focus/support/iframe-activeelement-after-focusing-out-same-site-iframes-outer.html
html/browsers/browsing-the-web/navigating-across-documents/abort-document-load-2.html
html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-02.html
html/browsers/the-window-object/accessing-other-browsing-contexts/test2.html
html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html
html/dom/aria-element-reflection.html
html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements.html
html/dom/documents/dom-tree-accessors/nameditem-05.html
html/dom/documents/dom-tree-accessors/nameditem-names.html
html/dom/elements/global-attributes/id-name-specialcase.html
html/dom/elements/images/bypass-cache-revalidation.html
html/editing/dnd/events/dragend-event-manual.html
html/editing/dnd/events/dragenter-event-manual.html
html/editing/dnd/events/dragleave-event-manual.html
html/editing/dnd/events/drop-event-manual.html
html/editing/dnd/events/relatedTarget-attribute-manual.html
html/editing/dnd/the-datatransfer-interface/effectAllowed-manual.html
html/editing/dnd/the-datatransfer-interface/setData-manual.html
html/editing/dnd/the-datatransfer-interface/types-manual.html
html/editing/dnd/the-dropzone-attribute/dropzone_attribute_inputbox_element-manual.html
html/editing/dnd/the-dropzone-attribute/dropzone_attribute_inputbox_element_dbcs-manual.html
html/editing/the-hidden-attribute/hidden-ua-stylesheet.html
html/interaction/focus/sequential-focus-navigation-and-the-tabindex-attribute/tabindex-getter.html
html/interaction/focus/the-autofocus-attribute/resources/child-autofocus.html
html/interaction/focus/the-autofocus-attribute/resources/grand-child-autofocus.html
html/rendering/non-replaced-elements/tables/table-column-width.html
html/rendering/pixel-length-attributes.html
html/rendering/replaced-elements/attributes-for-embedded-content-and-images/picture-aspect-ratio.html
html/semantics/document-metadata/the-link-element/document-without-browsing-context.html
html/semantics/embedded-content/the-embed-element/document-getters-return-null-for-cross-origin.html
html/semantics/embedded-content/the-embed-element/embed-hidden-attribute-ref.html
html/semantics/embedded-content/the-embed-element/embed-hidden-attribute.html
html/semantics/embedded-content/the-embed-element/embed-svg-navigation-resets-size.html
html/semantics/embedded-content/the-img-element/image-compositing-change-ref.html
html/semantics/embedded-content/the-img-element/image-compositing-change.html
html/semantics/embedded-content/the-img-element/image-compositing-large-scale-change-ref.html
html/semantics/embedded-content/the-img-element/image-compositing-large-scale-change.html
html/semantics/forms/attributes-common-to-form-controls/disabled-elements-01.html
html/semantics/forms/form-submission-0/submit-entity-body.html
html/semantics/forms/textfieldselection/defaultSelection.html
html/semantics/forms/the-form-element/resources/form-no-action-with-base.html
html/semantics/forms/the-form-element/resources/form-with-action-and-base.sub.html
html/semantics/forms/the-input-element/input-submit-remove-jssubmit.html
html/semantics/forms/the-input-element/input-whitespace.html
html/semantics/forms/the-input-element/maxlength-manual.html
html/semantics/forms/the-input-element/range-setattribute-value-ref.html
html/semantics/forms/the-label-element/label-attributes.sub.html
html/semantics/grouping-content/the-ol-element/grouping-ol.html
html/semantics/interactive-elements/the-dialog-element/dialog-autofocus-multiple-times.html
html/semantics/interactive-elements/the-dialog-element/inert-node-is-unfocusable.html
html/semantics/scripting-1/the-script-element/load-error-events-2.html
html/semantics/scripting-1/the-script-element/load-error-events-3.html
html/semantics/scripting-1/the-script-element/script-text-modifications-csp.html
html/semantics/scripting-1/the-script-element/script-text-modifications.html
html/semantics/selectors/pseudo-classes/enabled.html
html/semantics/selectors/pseudo-classes/link.html
html/semantics/selectors/pseudo-classes/placeholder-shown-type-change.html
import-maps/acquiring/modulepreload.html
inert/inert-label-focus.html
inert/inert-node-is-unfocusable.html
infrastructure/testdriver/actions/multiDevice.html
intersection-observer/v2/text-editor-occlusion.html
largest-contentful-paint/multiple-redirects-TAO.html
navigation-api/navigate-event/resources/meta-refresh.html
paint-timing/replaced-content-image.html
pointerevents/capturing_boundary_event_handler_at_ua_shadowdom.html
resource-timing/initiator-type/img-srcset.html
resource-timing/initiator-type/img.html
resource-timing/initiator-type/picture.html
resource-timing/resource-ignore-data-url.html
service-workers/service-worker/resources/embed-image-is-not-intercepted-iframe.html
service-workers/service-worker/resources/embed-is-not-intercepted-iframe.html
service-workers/service-worker/resources/object-image-is-not-intercepted-iframe.html
shadow-dom/leaktests/html-collection.html
shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html
shared-storage/shared-storage-writable-img-content-attribute.tentative.https.sub.html
tools/third_party/html5lib/benchmarks/data/wpt/weighted/image-orientation-from-image-content-images-ref.html
trusted-types/Document-execCommand.tentative.html
trusted-types/block-Document-execCommand.tentative.html
trusted-types/block-string-assignment-to-attribute-via-attribute-node.tentative.html
trusted-types/trusted-types-from-literal.tentative.html
web-nfc/resources/support-iframe.html
webrtc/getstats.html
window-management/multi-screen-fullscreen-companion.tentative.https.html
window-management/multi-screen-window-open-fullscreen.tentative.https.html
window-management/multi-screen-window-open.tentative.https.html
@zcorpan zcorpan added the lint label Sep 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant