CSS Multi-column Layout Module Level 1

Status: Drafting.

1. Introduction

This implementation report for the CSS Multi-column Layout Module Level 1 documents the test suite results across current browser engines to support transitioning the specification to Candidate Recommendation / Recommendation.

The report reflects automated testing against the official Web Platform Tests (WPT) test suite for multi-column layout.

2. Results Summary

TO DO: The following stats need updating once tests for other specs and L2 of this spec are moved.

The test suite in css/css-multicol contains 717 test cases in total. Of these, 708 test cases cover Level 1 requirements, while 9 test cases relate to future levels of this specification (such as CSS Multi-column Layout Level 2).

Conclusion: The CR implementation criteria (at least two independent interoperable implementations for each feature) are fulfilled across the core features of CSS Multi-column Layout Level 1.

3. Methodology

This report was prepared using results fetched from wpt.fyi for the test suite in css/css-multicol as of 23 July 2026.

The three browser engines evaluated were:

4. Raw Results

The table below provides detailed test results for each section of the specification:

Section 2: The Multi-column Model (265 tests)

Testcase Chrome Firefox Safari
abspos-autopos-contained-by-viewport-000.html Pass Pass Fail
abspos-autopos-contained-by-viewport-001.html Pass Pass Fail
as-column-flex-item.html Pass Pass Pass
baseline-000.html Pass Pass Pass
baseline-001.html Pass Pass Fail
baseline-002.html Pass Pass Fail
baseline-003.html Pass Pass Pass
baseline-004.html Pass Pass Fail
baseline-005.html Pass Pass Pass
baseline-006.html Pass Pass Fail
baseline-007.html Pass Pass Fail
baseline-008.html Pass Pass Pass
change-abspos-width-in-second-column-crash.html Pass Pass Pass
change-fragmentainer-size-000.html Pass Pass Pass
change-fragmentainer-size-001.html Pass Pass Pass
change-fragmentainer-size-002.html Pass Pass Pass
change-fragmentainer-size-003.html Pass Pass Pass
change-intrinsic-width.html Pass Pass Pass
change-out-of-flow-type-and-remove-inner-multicol-crash.html Pass Pass Pass
change-transform-in-nested.html Pass Fail Fail
change-transform-in-second-column.html Pass Fail Pass
change-transform.html Pass Pass Pass
columnfill-auto-max-height-001.html Pass Pass Fail
columnfill-auto-max-height-002.html Pass Pass Fail
columnfill-auto-max-height-003.html Pass Pass Fail
composited-under-clip-under-multicol.html Pass Pass Pass
content-visibility-001-crash.html Pass Pass Pass
crashtests/add-list-item-marker.html Pass Pass Pass
crashtests/as-baseline-aligned-grid-item.html Pass Pass Pass
crashtests/balancing-flex-item-trailing-margin-freeze.html Pass Pass Pass
crashtests/balancing-tall-borders-freeze.html Pass Pass Pass
crashtests/block-flow-split-with-fixed-child.html Pass Pass Pass
crashtests/block-in-inline-become-float.html Pass Pass Pass
crashtests/chrome-bug-1293905.html Pass Pass Pass
crashtests/chrome-bug-1297118.html Pass Pass Pass
crashtests/chrome-bug-1301281.html Pass Pass Pass
crashtests/chrome-bug-1303256.html Pass Pass Pass
crashtests/chrome-bug-1314866.html Pass Pass Pass
crashtests/continuation-detach.html Pass Pass Pass
crashtests/dynamic-simplified-layout-break-propagation.html Pass Pass Pass
crashtests/float-beside-whitespace-ruby.html Pass Pass Pass
crashtests/float-multicol-crash.html Pass Pass Pass
crashtests/floated-input-in-inline-next-column.html Pass Pass Pass
crashtests/inline-become-oof-container-make-oof-inflow.html Pass Pass Pass
crashtests/inline-float-parallel-flow.html Pass Pass Pass
crashtests/interleaved-bfc-crash.html Pass Pass Pass
crashtests/move-linebreak-to-different-column.html Pass Pass Pass
crashtests/move-newline-pre-text.html Pass Pass Pass
crashtests/multicol-at-page-boundary-print.html Pass Pass Pass
crashtests/multicol-block-in-inline-crash.html Pass Pass Pass
crashtests/multicol-cached-consumed-bsize-crash.html Pass Pass Pass
crashtests/multicol-column-change-crash.html Pass Pass Pass
crashtests/multicol-dynamic-contain-crash.html Pass Pass Pass
crashtests/multicol-dynamic-transform-crash.html Pass Pass Pass
crashtests/multicol-floats-in-ifc.html Pass Pass Pass
crashtests/multicol-with-monolithic-oof-with-multicol-with-oof.html Pass Pass Pass
crashtests/multicol-with-oof-in-multicol-with-oof-in-multicol.html Pass Pass Pass
crashtests/nested-floated-multicol-with-tall-margin.html Pass Pass Pass
crashtests/nested-multicol-and-float-with-tall-padding-before-float.html Pass Pass Pass
crashtests/nested-multicol-and-float-with-tall-padding.html Pass Pass Pass
crashtests/nested-multicol-fieldset-tall-trailing-border-freeze.html Pass Pass Pass
crashtests/nested-multicol-fieldset-tall-trailing-padding.html Pass Pass Pass
crashtests/nested-multicol-in-svg-foreignobject.html Pass Pass Pass
crashtests/nested-multicol-nested-flex.html Pass Pass Pass
crashtests/nested-multicol-with-float-between.html Pass Pass Pass
crashtests/nested-oof-multicol-with-monolithic-child.html Pass Pass Pass
crashtests/nested-oof-multicol-with-padding.html Pass Pass Pass
crashtests/nested-with-fragmented-oof-negative-top-offset.html Pass Pass Pass
crashtests/nested-with-multicol-table-caption.html Pass Pass Pass
crashtests/nested-with-multicol-table-cell.html Pass Pass Pass
crashtests/nested-with-oof-inside-fixed-width.html Pass Pass Pass
crashtests/nested-with-percentage-size-and-oof.html Pass Pass Pass
crashtests/nested-with-tall-padding-and-oof.html Pass Pass Pass
crashtests/nested-with-tall-padding.html Pass Pass Pass
crashtests/oof-in-area-001.html Pass Pass Pass
crashtests/oof-in-area-002.html Pass Pass Pass
crashtests/oof-in-area-003.html Pass Pass Pass
crashtests/oof-in-nested-line-float.html Pass Pass Pass
crashtests/oof-in-oof-multicol-in-relpos-in-oof-in-multicol-in-multicol.html Pass Pass Pass
crashtests/oof-in-relpos-in-oof-multicol-in-oof-in-relpos-in-oof-multicol-in-multicol.html Pass Pass Pass
crashtests/oof-in-relpos-in-oof-multicol-in-relpos-in-oof-multicol-in-relpos-multicol.html Pass Pass Pass
crashtests/oof-nested-multicol-inside-oof.html Pass Pass Pass
crashtests/outline-move-oof-with-inline.html Pass Pass Pass
crashtests/relayout-fixedpos-in-abspos-in-relpos-in-nested-multicol.html Pass Pass Pass
crashtests/relayout-nested-with-oof.html Pass Pass Pass
crashtests/relpos-inline-with-abspos-multicol-gets-block-child.html Pass Pass Pass
crashtests/repeated-section-in-nested-table-nested-multicol.html Pass Pass Pass
crashtests/repeated-table-column.html Pass Pass Pass
crashtests/repeated-table-footer-in-caption-nested-multicol.html Pass Pass Pass
crashtests/size-containment-become-multicol-add-inline-child.html Pass Pass Pass
crashtests/sticky-in-abs-in-sticky.html Pass Pass Pass
crashtests/table-caption-change-descendant-display-type.html Pass Pass Pass
crashtests/table-caption-inline-block-remove-child.html Pass Pass Pass
crashtests/table-cell-writing-mode-root.html Pass Pass Pass
crashtests/text-box-trim-end-and-widows.html Pass Pass Pass
crashtests/text-in-inline-interrupted-by-float.html Pass Pass Pass
crashtests/triply-nested-partial-relayout.html Pass Pass Pass
crashtests/video-container-become-multicol.html Pass Pass Pass
dynamic-become-multicol-add-oof-inside-inline-crash.html Pass Pass Pass
equal-gap-and-rule.html Pass Pass Pass
extremely-tall-multicol-with-extremely-tall-child-crash.html Pass Pass Pass
file-control-crash.html Pass Pass Pass
filter-with-abspos.html Pass Pass Fail
fixed-in-multicol-with-transform-container.html Pass Pass Fail
fixed-in-nested-multicol-with-transform-container.html Pass Pass Fail
fixed-in-nested-multicol-with-viewport-container.html Pass Fail Pass
fixed-in-nested-multicol.html Pass Pass Pass
fixedpos-static-pos-with-viewport-cb-001.html Pass Pass Fail
fixedpos-static-pos-with-viewport-cb-002.html Pass Pass Fail
fixedpos-static-pos-with-viewport-cb-003.html Pass Pass Fail
flex-grid-item-insert-001-crash.html Pass Pass Pass
flex-grid-item-insert-002-crash.html Pass Pass Pass
float-and-block.html Pass Pass Pass
getclientrects-000.html Pass Pass Pass
getclientrects-001.html Pass Pass Pass
getclientrects-002.html Pass Pass Pass
getclientrects-003.html Pass Pass Partial (3/13)
getclientrects-004.html Pass Pass Partial (3/13)
hit-test-child-under-perspective.html Pass Pass Pass
hit-test-in-vertical-rl.html Pass Pass Fail
hit-test-transformed-child.html Pass Pass Partial (1/2)
img-alt-as-multicol-crash.html Pass Pass Pass
increase-prev-sibling-height.html Pass Pass Pass
inheritance.html Pass Pass Pass
intrinsic-size-001.html Pass Pass Pass
intrinsic-size-002.html Pass Pass Fail
intrinsic-size-003.html Pass Pass Fail
intrinsic-size-004.html Pass Pass Fail
intrinsic-size-005.html Pass Pass Fail
move-with-text-after-paint.html Pass Pass Pass
multicol-basic-001.html Pass Pass Pass
multicol-basic-002.html Pass Pass Pass
multicol-basic-003.html Pass Pass Pass
multicol-basic-004.html Pass Pass Pass
multicol-basic-005.xht Pass Pass Pass
multicol-basic-006.xht Pass Pass Pass
multicol-basic-007.xht Pass Pass Pass
multicol-basic-008.xht Pass Pass Pass
multicol-block-no-clip-001.xht Pass Pass Pass
multicol-block-no-clip-002.xht Pass Pass Pass
multicol-br-inside-avoidcolumn-001.xht Pass Pass Pass
multicol-clip-001.xht Pass Pass Pass
multicol-clip-002.xht Pass Pass Pass
multicol-clip-scrolled-content-001.html Pass Pass Pass
multicol-collapsing-001.xht Pass Pass Pass
multicol-contained-absolute.html Pass Pass Pass
multicol-containing-001.xht Pass Pass Pass
multicol-containing-002.xht Pass Pass Pass
multicol-containing-003.html Pass Pass Pass
multicol-dynamic-add-001.html Pass Pass Pass
multicol-dynamic-add-002.html Pass Pass Pass
multicol-dynamic-add-003.html Pass Pass Pass
multicol-dynamic-add-004.html Pass Pass Pass
multicol-height-001.xht Pass Pass Pass
multicol-height-002-print.xht Pass Pass N/A
multicol-height-block-child-001.xht Pass Pass Pass
multicol-inherit-001.xht Pass Pass Pass
multicol-inherit-002.xht Pass Pass Pass
multicol-inherit-003.xht Pass Pass Fail
multicol-list-item-001.xht Pass Pass Pass
multicol-list-item-002.html Pass Pass Fail
multicol-list-item-003.html Pass Pass Pass
multicol-list-item-004.html Pass Pass Pass
multicol-list-item-005.html Pass Pass Pass
multicol-list-item-006.html Pass Fail Pass
multicol-list-item-007.html Pass Pass Pass
multicol-list-item-008.html Pass Fail Pass
multicol-loads-indefinitely-001-crash.html Pass Pass Pass
multicol-margin-001.xht Pass Pass Pass
multicol-margin-002.xht Pass Pass Pass
multicol-margin-003.html Pass Pass Pass
multicol-margin-child-001.xht Pass Pass Pass
multicol-nested-002.xht Pass Pass Pass
multicol-nested-005.xht Pass Pass Pass
multicol-nested-006.html Pass Pass Pass
multicol-nested-009.html Pass Pass Fail
multicol-nested-010.html Pass Pass Fail
multicol-nested-011.html Pass Pass Fail
multicol-nested-012.html Pass Pass Fail
multicol-nested-013.html Pass Pass Fail
multicol-nested-014.html Pass Fail Fail
multicol-nested-015.html Pass Fail Fail
multicol-nested-016.html Pass Fail Fail
multicol-nested-017.html Pass Pass Fail
multicol-nested-018.html Pass Fail Fail
multicol-nested-019.html Pass Pass Fail
multicol-nested-020.html Pass Pass Fail
multicol-nested-021.html Pass Pass Fail
multicol-nested-022.html Pass Pass Fail
multicol-nested-023.html Pass Pass Fail
multicol-nested-024.html Pass Pass Fail
multicol-nested-025.html Pass Pass Pass
multicol-nested-026.html Pass Fail Fail
multicol-nested-027.html Pass Pass Pass
multicol-nested-028.html Pass Pass Pass
multicol-nested-029.html Pass Pass Pass
multicol-nested-030.html Pass Pass Fail
multicol-nested-031.html Pass Pass Fail
multicol-nested-032.html Pass Pass Pass
multicol-nested-033.html Pass Pass Pass
multicol-nested-margin-001.xht Pass Pass Pass
multicol-nested-margin-002.xht Pass Pass Fail
multicol-nested-margin-003.xht Pass Pass Fail
multicol-nested-margin-004.xht Pass Pass Fail
multicol-nested-margin-005.xht Pass Pass Fail
multicol-on-broken-image-alt-text.html Pass Pass Fail
multicol-oof-inline-cb-001.html Pass Pass Pass
multicol-oof-inline-cb-002.html Pass Pass Pass
multicol-reduce-000.xht Pass Pass Pass
multicol-scroll-content.html Pass Pass Pass
multicol-shorthand-001.xht Pass Pass Fail
multicol-under-vertical-rl-scroll.html Pass Fail Fail
multicol-zero-height-001.xht Pass Pass Pass
multicol-zero-height-002.html Pass Pass Pass
multicol-zero-height-003.html Pass Pass Fail
named-page.html Pass Pass Pass
nested-after-float-clearance.html Pass Pass Pass
nested-at-outer-boundary-as-fieldset.html Pass Pass Pass
nested-at-outer-boundary-as-float.html Pass Pass Pass
nested-at-outer-boundary-as-legend.html Pass Pass Pass
nested-floated-multicol-with-monolithic-child.html Pass Fail Fail
nested-floated-shape-outside-multicol-with-monolithic-child-crash.html Pass Pass Pass
nested-non-auto-inline-size-offset-top.html Pass Fail Fail
nested-oofs-in-relative-multicol.html Pass Pass Pass
nested-past-fragmentation-line.html Pass Pass Fail
nested-with-too-tall-line.html Pass Pass Fail
offsetProps-001.html Pass Fail Partial (1/4)
offsetProps-002.html Pass Pass Pass
oof-nested-in-single-column.html Pass Pass Pass
orthogonal-writing-mode-shrink-to-fit.html Pass Pass Fail
page-property-ignored.html Pass Pass Pass
paint-containment-001.html Pass Pass Pass
remove-block-sibling-of-inline-with-block-crash.html Pass Pass Pass
resize-in-strict-containment-nested.html Pass Pass Fail
resize-multicol-with-fixed-size-children-002.html Pass Pass Pass
resize-multicol-with-fixed-size-children-003.html Pass Pass Pass
resize-multicol-with-fixed-size-children.html Pass Pass Pass
resize-with-text-after-paint.html Pass Pass Pass
scroll-width-height.tentative.html Pass Fail Pass
spanning-legend-000-crash.html Pass Pass Pass
spanning-legend-001-crash.html Pass Pass Pass
subpixel-column-progression.html Pass Fail Fail
subpixel-scroll-crash.html Pass Pass Pass
table/multicol-table-cell-001.xht Pass Fail Pass
table/multicol-table-cell-height-001.xht Pass Fail Pass
table/multicol-table-cell-height-002.xht Pass Fail Pass
table/multicol-table-cell-vertical-align-001.xht Pass Fail Pass
table/table-cell-as-multicol.html Pass Fail Fail
table/table-cell-content-change-000.html Pass Fail Pass
table/table-cell-content-change-001.html Pass Fail Pass
table/table-cell-multicol-nested-001.html Pass Fail Pass
table/table-cell-multicol-nested-002.html Pass Fail Fail
table/table-cell-multicol-nested-003.html Pass Fail Pass
text-child-crash.html Pass Pass Pass
triply-nested-with-fixedpos-in-abspos-crash.html Pass Pass Pass
with-custom-layout-on-same-element-crash.https.html Pass Pass Pass
with-custom-layout-on-same-element.https.html Pass Fail Fail

Section 3: The Number and Width of Columns (74 tests)

Testcase Chrome Firefox Safari
auto-fill-auto-size-001-print.html Pass Pass N/A
auto-fill-auto-size-002-print.html Pass Pass N/A
column-count-used-001.html Pass Pass Pass
columns-shorthand-reset-wrap.html Pass Fail Fail
crashtests/nested-oof-multicol-with-oof-needing-additional-columns.html Pass Pass Pass
crashtests/shrink-column-height-block-with-margin-in-inline.html Pass Pass Pass
crashtests/zero-column-height.html Pass Pass Pass
intrinsic-width-change-column-count.html Pass Pass Pass
large-actual-column-count.html Pass Pass Pass
multicol-columns-001.xht Pass Pass Pass
multicol-columns-002.xht Pass Pass Pass
multicol-columns-003.xht Pass Pass Pass
multicol-columns-004.xht Pass Pass Pass
multicol-columns-005.xht Pass Pass Pass
multicol-columns-006.xht Pass Pass Pass
multicol-columns-007.xht Pass Pass Pass
multicol-columns-invalid-001.xht Pass Pass Pass
multicol-columns-invalid-002.xht Pass Pass Pass
multicol-columns-toolong-001.xht Pass Pass Pass
multicol-count-001.xht Pass Pass Pass
multicol-count-002.xht Pass Pass Pass
multicol-count-computed-003.xht Pass Pass Pass
multicol-count-computed-004.xht Pass Pass Pass
multicol-count-computed-005.xht Pass Pass Pass
multicol-count-negative-001.xht Pass Pass Pass
multicol-count-negative-002.xht Pass Pass Pass
multicol-count-non-integer-001.xht Pass Pass Pass
multicol-count-non-integer-002.xht Pass Pass Pass
multicol-count-non-integer-003.xht Pass Pass Pass
multicol-width-001.xht Pass Pass Pass
multicol-width-002.xht Pass Pass Pass
multicol-width-003.xht Pass Pass Pass
multicol-width-004.html Pass Pass Fail
multicol-width-005.html Fail Pass Fail
multicol-width-ch-001.html Pass Pass Pass
multicol-width-count-001.xht Pass Pass Pass
multicol-width-count-002.xht Pass Pass Pass
multicol-width-invalid-001.xht Pass Pass Pass
multicol-width-large-001.xht Pass Pass Pass
multicol-width-large-002.xht Pass Pass Pass
multicol-width-negative-001.xht Pass Pass Pass
multicol-width-small-001.xht Pass Pass Pass
zero-column-width-computed-style.html Pass Pass Pass
zero-column-width-layout.html Pass Pass Pass

Section 4: Column Gaps and Rules (54 tests)

Testcase Chrome Firefox Safari
broken-column-rule-1.html Pass Pass Pass
column-rule-001.html Pass Pass Pass
column-rule-002.html Pass Pass Pass
crashtests/vertical-rl-column-rules-wide-columns.html Pass Pass Pass
multicol-gap-000.xht Pass Pass Pass
multicol-gap-001.xht Pass Pass Pass
multicol-gap-002.xht Pass Pass Pass
multicol-gap-003.xht Pass Pass Pass
multicol-gap-animation-001.html Pass Pass Pass
multicol-gap-animation-002.html Pass Pass Pass
multicol-gap-animation-003.html Pass Pass Pass
multicol-gap-fraction-001.xht Pass Pass Pass
multicol-gap-fraction-002.html Pass Pass Pass
multicol-gap-large-001.xht Pass Pass Pass
multicol-gap-large-002.xht Pass Pass Pass
multicol-gap-negative-001.xht Pass Pass Pass
multicol-gap-percentage-001.html Pass Pass Pass
multicol-nested-column-rule-001.xht Pass Pass Pass
multicol-nested-column-rule-002.html Fail Pass Pass
multicol-nested-column-rule-003.html Pass Fail Fail
multicol-rule-000.xht Pass Pass Pass
multicol-rule-001.xht Pass Pass Pass
multicol-rule-002.xht Pass Pass Fail
multicol-rule-003.xht Pass Pass Pass
multicol-rule-004.xht Pass Pass Fail
multicol-rule-color-001.xht Pass Pass Pass
multicol-rule-color-inherit-001.xht Pass Pass Pass
multicol-rule-color-inherit-002.xht Pass Pass Pass
multicol-rule-dashed-000.xht Pass Pass Pass
multicol-rule-dotted-000.xht Pass Pass Pass
multicol-rule-double-000.xht Pass Pass Pass
multicol-rule-fraction-001.xht Pass Pass Pass
multicol-rule-fraction-002.xht Pass Pass Pass
multicol-rule-fraction-003.xht Pass Pass Fail
multicol-rule-groove-000.xht Pass Pass Pass
multicol-rule-hidden-000.xht Pass Pass Pass
multicol-rule-inset-000.xht Pass Pass Pass
multicol-rule-large-001.xht Pass Pass Pass
multicol-rule-nested-balancing-001.html Pass Pass Fail
multicol-rule-nested-balancing-002.html Pass Pass Fail
multicol-rule-nested-balancing-003.html Pass Pass Fail
multicol-rule-nested-balancing-004.html Pass Pass Fail
multicol-rule-none-000.xht Pass Pass Pass
multicol-rule-outset-000.xht Pass Pass Pass
multicol-rule-percent-001.xht Pass Pass Pass
multicol-rule-px-001.xht Pass Pass Fail
multicol-rule-ridge-000.xht Pass Pass Pass
multicol-rule-samelength-001.xht Pass Pass Pass
multicol-rule-shorthand-001.xht Pass Pass Pass
multicol-rule-shorthand-2.xht Pass Pass Fail
multicol-rule-solid-000.xht Pass Pass Pass
multicol-rule-stacking-001.xht Pass Pass Fail
relative-child-overflowing-column-gap.html Pass Pass Pass
subpixel-column-rule-width.tentative.html Pass Pass Pass

Section 5: Column Breaks (17 tests)

Testcase Chrome Firefox Safari
crashtests/break-before-multicol-caption.html Pass Pass Pass
multicol-break-000.xht Pass Fail Pass
multicol-break-001.xht Pass Fail Pass
multicol-breaking-000.html Pass Pass Fail
multicol-breaking-001.html Pass Pass Fail
multicol-breaking-002.html Pass Pass Fail
multicol-breaking-003.html Pass Pass Fail
multicol-breaking-004.html Pass Pass Fail
multicol-breaking-005.html Pass Pass Fail
multicol-breaking-006.html Pass Pass Fail
multicol-breaking-nobackground-000.html Pass Pass Fail
multicol-breaking-nobackground-001.html Pass Pass Fail
multicol-breaking-nobackground-002.html Pass Pass Fail
multicol-breaking-nobackground-003.html Pass Pass Fail
multicol-breaking-nobackground-004.html Pass Pass Fail
multicol-breaking-nobackground-005.html Pass Pass Fail
multicol-dynamic-change-inside-break-inside-avoid-001.html Pass Pass Pass

Section 6: Spanning Columns (173 tests)

Testcase Chrome Firefox Safari
abspos-after-spanner-static-pos.html Pass Pass Fail
abspos-after-spanner.html Pass Pass Fail
abspos-containing-block-outside-spanner.html Pass Fail Pass
abspos-in-multicol-with-spanner-crash.html Pass Pass Pass
always-balancing-before-column-span.html Pass Pass Pass
ancestor-toggle-spanner-001.html Pass Fail Pass
ancestor-toggle-spanner-002.html Pass Fail Fail
change-transform-in-spanner.html Pass Pass Pass
crashtests/ancestor-toggle-spanner-remove-child.html Pass Pass Pass
crashtests/block-in-inline-with-abspos-after-spanner.html Pass Pass Pass
crashtests/block-in-inline-with-spanner-in-overflowed-parent-nested-multicol.html Pass Pass Pass
crashtests/block-in-inline-with-spanner-in-overflowed-parent.html Pass Pass Pass
crashtests/body-becomes-spanner-html-becomes-vertical-rl.html Pass Pass Pass
crashtests/first-letter-column-span-fieldset.html Pass Pass Pass
crashtests/fit-content-with-spanner-and-auto-scrollbar-sibling.html Pass Pass Pass
crashtests/float-becomes-non-float-spanner-surprises-inside.html Pass Pass Pass
crashtests/float-becomes-spanner-remove-child.html Pass Pass Pass
crashtests/float-becomes-spanner.html Pass Pass Pass
crashtests/float-cannot-be-spanner.html Pass Pass Pass
crashtests/inline-with-spanner-in-overflowed-container-before-multicol-float.html Pass Pass Pass
crashtests/margin-and-break-before-child-spanner.html Pass Pass Pass
crashtests/multicol-floats-after-column-span-crash.html Pass Pass Pass
crashtests/multicol-parallel-flow-after-spanner-in-inline.html Pass Pass Pass
crashtests/multicol-table-caption-parallel-flow-after-spanner-in-inline.html Pass Pass Pass
crashtests/negative-margin-on-column-spanner.html Pass Pass Pass
crashtests/nested-spanner-with-negative-margin.html Pass Pass Pass
crashtests/nested-with-tall-padding-and-spanner-and-content.html Pass Pass Pass
crashtests/oof-becomes-spanner.html Pass Pass Pass
crashtests/oof-in-additional-column-before-spanner.html Pass Pass Pass
crashtests/oof-in-oof-multicol-in-multicol-spanner-in-multicol.html Pass Pass Pass
crashtests/oof-in-oof-multicol-in-relpos-spanner-in-multicol-in-relpos-multicol-in-multicol.html Pass Pass Pass
crashtests/oof-in-oof-multicol-in-relpos-spanner-in-spanner-multicol-in-multicol-in-multicol.html Pass Pass Pass
crashtests/oof-in-oof-multicol-in-spanner-in-multicol-in-spanner-in-nested-multicol.html Pass Pass Pass
crashtests/oof-in-oof-multicol-in-spanner-in-nested-multicol.html Pass Pass Pass
crashtests/oof-in-spanner-in-relpos-in-multicol-in-relpos-multicol-001.html Pass Pass Pass
crashtests/oof-in-spanner-in-relpos-in-multicol-in-relpos-multicol-002.html Pass Pass Pass
crashtests/relpos-spanner-with-spanner-child-becomes-regular.html Pass Pass Pass
crashtests/remove-spanner-after-spanner-in-inline-before-inline.html Pass Pass Pass
crashtests/remove-spanner-in-table-caption-nested-multicol.html Pass Pass Pass
crashtests/remove-transform-descendant-becomes-spanner-remove-spanner-child.html Pass Pass Pass
crashtests/restricted-height-bottom-border-overflow-and-spanner.html Pass Pass Pass
crashtests/scrollable-spanner-in-nested.html Pass Pass Pass
crashtests/spanner-after-parallel-flow.html Pass Pass Pass
crashtests/spanner-in-inline-after-very-tall-content-001.html Pass Pass Pass
crashtests/spanner-in-inline-after-very-tall-content-002.html Pass Pass Pass
crashtests/spanner-in-overflowed-clipped-container.html Pass Pass Pass
crashtests/spanner-in-overflowed-container-before-float.html Pass Pass Pass
crashtests/spanner-in-overflowed-container-before-inline-content.html Pass Pass Pass
crashtests/spanner-in-relpos-in-abspos-multicol-in-multicol.html Pass Pass Pass
crashtests/spanner-inside-inline-in-overflowed-container.html Pass Pass Pass
crashtests/specified-height-with-just-spanner-and-oof.html Pass Pass Pass
crashtests/trailing-parent-padding-between-spanners.html Pass Pass Pass
float-with-line-after-spanner.html Pass Pass Pass
going-out-of-flow-after-spanner.html Pass Pass Pass
inline-block-and-column-span-all.html Pass Pass Pass
multicol-span-000.xht Pass Pass Pass
multicol-span-all-001.xht Pass Pass Pass
multicol-span-all-002.xht Pass Pass Pass
multicol-span-all-003.xht Pass Pass Pass
multicol-span-all-004.html Pass Pass Fail
multicol-span-all-005.html Pass Pass Fail
multicol-span-all-006.html Pass Pass Fail
multicol-span-all-007.html Pass Pass Fail
multicol-span-all-008.html Pass Pass Fail
multicol-span-all-009.html Pass Pass Fail
multicol-span-all-010.html Pass Pass Fail
multicol-span-all-011.html Pass Pass Fail
multicol-span-all-012.html Pass Pass Pass
multicol-span-all-013.html Pass Pass Pass
multicol-span-all-014.html Pass Pass Fail
multicol-span-all-015.html Pass Pass Fail
multicol-span-all-016.html Pass Fail Pass
multicol-span-all-017.html Pass Pass Fail
multicol-span-all-018.html Pass Fail Fail
multicol-span-all-019.html Pass Pass Fail
multicol-span-all-020.html Pass Pass Pass
multicol-span-all-block-sibling-003.xht Pass Pass Fail
multicol-span-all-button-001.html Pass Pass Fail
multicol-span-all-button-002.html Pass Pass Fail
multicol-span-all-button-003.html Pass Pass Fail
multicol-span-all-children-height-001.html Pass Pass Pass
multicol-span-all-children-height-002.html Pass Pass Pass
multicol-span-all-children-height-003.html Pass Pass Pass
multicol-span-all-children-height-004a.html Pass Pass Pass
multicol-span-all-children-height-004b.html Pass Pass Pass
multicol-span-all-children-height-005.html Pass Pass Pass
multicol-span-all-children-height-006.html Pass Pass Pass
multicol-span-all-children-height-007.html Pass Pass Pass
multicol-span-all-children-height-008.html Pass Pass Pass
multicol-span-all-children-height-009.html Pass Fail Fail
multicol-span-all-children-height-010.html Pass Fail Fail
multicol-span-all-children-height-011.html Pass Pass Pass
multicol-span-all-children-height-012.html Pass Pass Fail
multicol-span-all-children-height-013.html Pass Pass Pass
multicol-span-all-dynamic-add-001.html Pass Pass Pass
multicol-span-all-dynamic-add-002.html Pass Pass Pass
multicol-span-all-dynamic-add-003.html Pass Pass Pass
multicol-span-all-dynamic-add-004.html Pass Pass Pass
multicol-span-all-dynamic-add-005.html Pass Pass Pass
multicol-span-all-dynamic-add-006.html Pass Pass Pass
multicol-span-all-dynamic-add-007.html Pass Pass Pass
multicol-span-all-dynamic-add-008.html Pass Pass Pass
multicol-span-all-dynamic-add-009.html Pass Pass Pass
multicol-span-all-dynamic-add-010.html Pass Pass Pass
multicol-span-all-dynamic-add-011.html Pass Pass Pass
multicol-span-all-dynamic-add-012.html Pass Pass Pass
multicol-span-all-dynamic-add-013.html Pass Pass Pass
multicol-span-all-dynamic-add-014.html Pass Pass Pass
multicol-span-all-dynamic-remove-001.html Pass Pass Pass
multicol-span-all-dynamic-remove-002.html Pass Pass Pass
multicol-span-all-dynamic-remove-003.html Pass Pass Pass
multicol-span-all-dynamic-remove-004.html Pass Pass Pass
multicol-span-all-dynamic-remove-005.html Pass Pass Pass
multicol-span-all-dynamic-remove-006.html Pass Pass Pass
multicol-span-all-dynamic-remove-007.html Pass Pass Pass
multicol-span-all-fieldset-001.html Pass Pass Pass
multicol-span-all-fieldset-002.html Pass Pass Pass
multicol-span-all-fieldset-003.html Pass Pass Pass
multicol-span-all-list-item-001.html Pass Pass Pass
multicol-span-all-list-item-002.html Pass Pass Pass
multicol-span-all-margin-001.xht Pass Pass Pass
multicol-span-all-margin-002.xht Pass Pass Fail
multicol-span-all-margin-003.html Pass Pass Pass
multicol-span-all-margin-bottom-001.xht Pass Pass Pass
multicol-span-all-margin-nested-001.xht Pass Pass Fail
multicol-span-all-margin-nested-002.xht Fail Pass Fail
multicol-span-all-margin-nested-firstchild-001.xht Pass Pass Fail
multicol-span-all-restyle-001.html Pass Pass Pass
multicol-span-all-restyle-002.html Pass Pass Pass
multicol-span-all-restyle-003.html Pass Pass Pass
multicol-span-all-restyle-004.html Pass Pass Pass
multicol-span-all-rule-001.html Pass Pass Fail
multicol-span-all-rule-002.html Pass Pass Pass
multicol-span-auto-size-in-vertical-writing-mode-001.html Pass Pass Pass
multicol-span-auto-size-in-vertical-writing-mode-002.html Pass Pass Pass
multicol-span-float-001.xht Pass Pass Pass
multicol-span-float-002.html Pass Pass Pass
multicol-span-float-003.html Pass Pass Pass
multicol-span-float-004.html Pass Pass Pass
multicol-span-none-001.xht Pass Pass Pass
nested-with-padding-and-spanner.html Pass Pass Pass
no-balancing-after-column-span.html Pass Pass Pass
non-adjacent-spanners-000.html Pass Pass Pass
non-adjacent-spanners-001.html Pass Pass Pass
orthogonal-writing-mode-spanner.html Pass Pass Pass
parallel-flow-after-spanner-001.html Pass Pass Pass
parallel-flow-after-spanner-002.html Pass Pass Pass
remove-block-beside-spanner-in-inline-crash.html Pass Pass Pass
remove-child-in-strict-containment-also-spanner.html Pass Pass Pass
remove-inline-with-block-beside-spanners-crash.html Pass Pass Pass
remove-inline-with-block-beside-spanners.html Pass Pass Pass
remove-spanner-beside-spanner-in-inline-crash.html Pass Pass Pass
remove-transform-descendant-becomes-spanner.html Pass Fail Pass
replaced-content-spanner-auto-width.html Pass Pass Pass
spanner-fragmentation-000.html Pass Pass Pass
spanner-fragmentation-001.html Pass Pass Pass
spanner-fragmentation-002.html Pass Pass Pass
spanner-fragmentation-003.html Pass Pass Pass
spanner-fragmentation-004.html Pass Pass Pass
spanner-fragmentation-005.html Pass Pass Pass
spanner-fragmentation-006.html Pass Pass Pass
spanner-fragmentation-007.html Pass Pass Pass
spanner-fragmentation-008.html Pass Pass Pass
spanner-fragmentation-009.html Pass Fail Fail
spanner-fragmentation-010.html Pass Fail Pass
spanner-fragmentation-011.html Pass Fail Fail
spanner-fragmentation-012.html Fail Fail Pass
spanner-in-child-after-parallel-flow-001.html Pass Pass Pass
spanner-in-child-after-parallel-flow-002.html Pass Pass Pass
spanner-in-child-after-parallel-flow-003.html Pass Pass Pass
spanner-in-child-after-parallel-flow-004.html Pass Pass Fail
spanner-in-opacity.html Fail Fail Fail
toggle-spanner-float-crash.html Pass Pass Pass

Section 7: Filling Columns (76 tests)

Testcase Chrome Firefox Safari
balance-break-avoidance-000.html Pass Pass Pass
balance-break-avoidance-001.html Pass Fail Fail
balance-break-avoidance-002.html Pass Fail Fail
balance-extremely-tall-monolithic-content-crash.html Pass Pass Pass
balance-grid-001.html Pass Pass Pass
balance-grid-container.html Pass Pass Pass
balance-orphans-widows-000.html Pass Pass Fail
column-balancing-paged-001-print.html Pass Pass N/A
column-balancing-with-floats-001.html Pass Pass Pass
column-balancing-with-floats-002.html Pass Pass Pass
column-balancing-with-overflow-auto-crash.html Pass Pass Pass
column-balancing-with-span-and-oof-001.html Pass Pass Pass
column-balancing-with-span-and-oof-002.html Pass Pass Pass
column-fill-balance-orthog-block-001.html Pass Pass Pass
crashtests/balance-break-inside-avoid-on-root.html Pass Pass Pass
crashtests/balance-with-forced-break.html Pass Pass Pass
crashtests/forced-break-in-oof-in-column-balancing-nested.html Pass Pass Pass
crashtests/forced-break-in-oof-in-column-balancing.html Pass Pass Pass
crashtests/nested-as-balanced-legend.html Pass Pass Pass
crashtests/nested-as-nested-balanced-legend.html Pass Pass Pass
multicol-fill-000.xht Pass Pass Pass
multicol-fill-001.xht Pass Pass Pass
multicol-fill-auto-001.xht Pass Pass Pass
multicol-fill-auto-002.xht Pass Pass Pass
multicol-fill-auto-003.xht Pass Pass Pass
multicol-fill-auto-004.html Pass Fail Pass
multicol-fill-auto-005.html Pass Fail Fail
multicol-fill-auto-block-children-001.xht Pass Pass Pass
multicol-fill-auto-block-children-002.xht Pass Pass Fail
multicol-fill-auto-block-children-003.html Pass Pass Pass
multicol-fill-balance-001.xht Pass Pass Pass
multicol-fill-balance-002.html Pass Pass Pass
multicol-fill-balance-003.html Pass Pass Fail
multicol-fill-balance-004.html Pass Pass Pass
multicol-fill-balance-005.html Pass Pass Fail
multicol-fill-balance-006.html Pass Pass Pass
multicol-fill-balance-007.html Pass Fail Pass
multicol-fill-balance-008.html Pass Pass Fail
multicol-fill-balance-009.html Pass Pass Fail
multicol-fill-balance-010.html Pass Pass Fail
multicol-fill-balance-011.html Pass Pass Fail
multicol-fill-balance-012.html Pass Pass Fail
multicol-fill-balance-013.html Pass Pass Fail
multicol-fill-balance-014.html Pass Fail Fail
multicol-fill-balance-015.html Pass Pass Pass
multicol-fill-balance-016.html Pass Pass Pass
multicol-fill-balance-018.html Pass Pass Pass
multicol-fill-balance-019.html Pass Pass Pass
multicol-fill-balance-020.html Pass Pass Pass
multicol-fill-balance-021.html Pass Fail Fail
multicol-fill-balance-022.html Pass Pass Partial (1/2)
multicol-fill-balance-023.html Pass Pass Fail
multicol-fill-balance-024.html Pass Pass Pass
multicol-fill-balance-025.html Pass Fail Fail
multicol-fill-balance-026.html Pass Fail Pass
multicol-fill-balance-027.html Pass Pass Fail
multicol-fill-balance-028.html Pass Pass Fail
multicol-fill-balance-029.html Pass Pass Pass
multicol-fill-balance-030.html Pass Pass Fail
multicol-fill-balance-031.html Pass Fail Pass
multicol-fill-balance-032.html Pass Pass Fail
multicol-fill-balance-033.html Pass Pass Pass
multicol-fill-balance-034.html Pass Pass Fail
multicol-fill-balance-035.html Pass Pass Fail
multicol-fill-balance-036.html Pass Fail Fail
multicol-fill-balance-037.html Pass Pass Pass
multicol-fill-balance-038.html Pass Fail Fail
multicol-fill-balance-039.html Pass Fail Fail
multicol-fill-balance-040.html Pass Fail Fail
multicol-fill-balance-041.html Pass Fail Fail
multicol-fill-balance-nested-000.html Pass Pass Fail
nested-balanced-monolithic-multicol-crash.html Pass Pass Pass
nested-balanced-very-tall-content-crash.html Pass Pass Pass
table/balance-breakafter-before-table-section-crash.html Pass Pass Pass
table/balance-table-with-border-spacing.html Fail Fail Pass
table/balance-table-with-fractional-height-row.html Pass Fail Pass

Section 8: Overflow (18 tests)

Testcase Chrome Firefox Safari
abspos-multicol-in-second-outer-clipped.html Pass Fail Pass
crashtests/monolithic-oof-in-clipped-container.html Pass Pass Pass
crashtests/table-caption-in-clipped-overflow.html Pass Pass Pass
fixed-size-child-with-overflow.html Pass Pass Pass
multicol-overflow-000.xht Pass Pass Pass
multicol-overflow-clip-auto-sized.html Pass Pass Fail
multicol-overflow-clip-positioned.html Pass Pass Pass
multicol-overflow-clip.html Pass Pass Pass
multicol-overflow-positioned-transform-001.html Pass Pass Pass
multicol-overflow-transform-001.html Pass Pass Pass
multicol-overflowing-001.xht Pass Pass Pass
nested-with-overflowing-padding-crash.html Pass Pass Pass
overflow-scroll-in-multicol-crash.html Pass Pass Pass
overflow-unsplittable-001.html Pass Pass Fail
overflow-unsplittable-002.html Pass Pass Fail
overflow-unsplittable-003.html Pass Pass Fail
relative-child-overflowing-container.html Pass Pass Pass
textarea-text-overflow-ellipsis-crash.html Pass Pass Pass

Property Parsing and Animation (34 tests)

Testcase Chrome Firefox Safari
animation/column-count-interpolation.html Pass Partial (194/198) Pass
animation/column-width-interpolation.html Pass Pass Pass
animation/columns-interpolation.html Pass Partial (162/384) Partial (162/384)
animation/discrete-no-interpolation.html Pass Partial (126/168) Partial (126/168)
parsing/column-count-computed.html Pass Pass Pass
parsing/column-count-invalid.html Pass Pass Pass
parsing/column-count-valid.html Pass Pass Pass
parsing/column-fill-computed.html Partial (2/3) Partial (2/3) Partial (2/3)
parsing/column-fill-invalid.html Pass Pass Pass
parsing/column-fill-valid.html Partial (2/3) Partial (2/3) Partial (2/3)
parsing/column-rule-color-computed.html Pass Pass Pass
parsing/column-rule-color-invalid.html Pass Pass Pass
parsing/column-rule-color-valid.html Pass Pass Pass
parsing/column-rule-computed.html Pass Partial (4/6) Partial (4/6)
parsing/column-rule-invalid.html Pass Pass Pass
parsing/column-rule-shorthand.html Pass Pass Pass
parsing/column-rule-style-computed.html Pass Pass Pass
parsing/column-rule-style-invalid.html Pass Pass Pass
parsing/column-rule-style-valid.html Pass Pass Pass
parsing/column-rule-valid.html Pass Fail Pass
parsing/column-rule-width-computed.html Pass Pass Pass
parsing/column-rule-width-invalid.html Pass Pass Pass
parsing/column-rule-width-valid.html Pass Pass Pass
parsing/column-span-computed.html Pass Pass Pass
parsing/column-span-invalid.html Pass Pass Pass
parsing/column-width-computed.html Pass Pass Pass
parsing/column-width-invalid.html Pass Pass Pass
parsing/column-width-valid.html Pass Pass Pass
parsing/columns-computed.html Pass Partial (9/27) Partial (9/27)
parsing/columns-invalid.html Pass Pass Pass
parsing/columns-valid.html Pass Partial (15/24) Partial (15/24)

Tests for other specifications that use multicol (6 tests)

Multicol is the way to test fragmentation issues, therefore a number of the tests in this suite are not testing the Level 1 multicol specification, instead using it to test related fragmentation issues.

Testcase Chrome Firefox Safari Testing
getclientrects-005.html Pass Fail Fail CSSOM View
getclientrects-006.html Pass Fail Fail CSSOM View
getclientrects-007.html Pass Fail Fail CSSOM View
getclientrects-008.html Pass Pass Fail CSSOM View
multicol-nested-007.html Pass Fail Fail CSS Fragmentation
multicol-nested-008.html Pass Fail Fail CSS Fragmentation
max-height-stretch-relayout.html Pass Fail Fail Avoid invalid cache hit for max-block-size:stretch multicols.

Tests for future levels of this specification (40 tests)

Testcase Chrome Firefox Safari
column-height-001.html Pass Fail Pass
column-height-002.html Pass Fail Fail
column-height-003.html Pass Fail Fail
column-height-004.html Pass Fail Fail
column-height-005.html Pass Fail Fail
column-height-006.html Pass Fail Fail
column-height-007.html Pass Fail Fail
column-height-008.html Pass Fail Fail
column-height-009.html Pass Fail Fail
column-height-010.html Pass Fail Pass
column-height-011.html Pass Pass Pass
column-height-012.html Pass Fail Fail
column-height-013.html Pass Fail Fail
column-height-014.html Pass Fail Fail
column-height-015.html Pass Fail Fail
column-height-016.html Pass Fail Fail
column-height-017.html Pass Fail Fail
column-height-018.html Pass Fail Fail
column-height-019.html Pass Fail Fail
column-height-020.html Pass Fail Fail
column-height-021.html Pass Fail Fail
column-height-022.html Pass Fail Fail
column-height-023.html Pass Fail Fail
column-height-024.html Pass Fail Fail
column-height-025.html Pass Fail Fail
column-height-026.html Pass Pass Pass
column-height-027.html Pass Fail Fail
column-height-028.html Pass Fail Fail
column-height-029.html Pass Fail Fail
column-height-030.html Pass Fail Fail
animation/column-rule-color-interpolation.html Pass Pass Pass
animation/column-rule-width-interpolation.html Pass Pass Pass
animation/column-wrap-reset-interpolation.html Pass Fail Fail
column-wrap-no-constraints-001.html Pass Pass Pass
column-wrap-no-constraints-002.html Pass Fail Fail
parsing/column-span-valid.html Pass Pass Pass
parsing/column-pseudo-computed.html Partial (3/4) Fail Fail
parsing/column-pseudo-invalid.html Pass Pass Pass
parsing/column-pseudo-valid.html Partial (2/4) Fail Fail
column-pseudo-background-color.html Pass Fail Fail