diff --git a/sql/2022/interop/README.md b/sql/2022/interoperability/README.md
similarity index 100%
rename from sql/2022/interop/README.md
rename to sql/2022/interoperability/README.md
diff --git a/sql/2022/interop/align_items_values.sql b/sql/2022/interoperability/align_items_values.sql
similarity index 100%
rename from sql/2022/interop/align_items_values.sql
rename to sql/2022/interoperability/align_items_values.sql
diff --git a/sql/2022/interop/align_values.sql b/sql/2022/interoperability/align_values.sql
similarity index 100%
rename from sql/2022/interop/align_values.sql
rename to sql/2022/interoperability/align_values.sql
diff --git a/sql/2022/interop/aspect_ratio.sql b/sql/2022/interoperability/aspect_ratio.sql
similarity index 100%
rename from sql/2022/interop/aspect_ratio.sql
rename to sql/2022/interoperability/aspect_ratio.sql
diff --git a/sql/2022/interop/backdrop.sql b/sql/2022/interoperability/backdrop.sql
similarity index 100%
rename from sql/2022/interop/backdrop.sql
rename to sql/2022/interoperability/backdrop.sql
diff --git a/sql/2022/interop/cascade_layers.sql b/sql/2022/interoperability/cascade_layers.sql
similarity index 100%
rename from sql/2022/interop/cascade_layers.sql
rename to sql/2022/interoperability/cascade_layers.sql
diff --git a/sql/2022/interop/color_functions.sql b/sql/2022/interoperability/color_functions.sql
similarity index 100%
rename from sql/2022/interop/color_functions.sql
rename to sql/2022/interoperability/color_functions.sql
diff --git a/sql/2022/interop/color_spaces.sql b/sql/2022/interoperability/color_spaces.sql
similarity index 100%
rename from sql/2022/interop/color_spaces.sql
rename to sql/2022/interoperability/color_spaces.sql
diff --git a/sql/2022/interop/contain.sql b/sql/2022/interoperability/contain.sql
similarity index 100%
rename from sql/2022/interop/contain.sql
rename to sql/2022/interoperability/contain.sql
diff --git a/sql/2022/interop/contain_values.sql b/sql/2022/interoperability/contain_values.sql
similarity index 100%
rename from sql/2022/interop/contain_values.sql
rename to sql/2022/interoperability/contain_values.sql
diff --git a/sql/2022/interop/container.sql b/sql/2022/interoperability/container.sql
similarity index 100%
rename from sql/2022/interop/container.sql
rename to sql/2022/interoperability/container.sql
diff --git a/sql/2022/interop/dialog.sql b/sql/2022/interoperability/dialog.sql
similarity index 100%
rename from sql/2022/interop/dialog.sql
rename to sql/2022/interoperability/dialog.sql
diff --git a/sql/2022/interop/flex_basis_content.sql b/sql/2022/interoperability/flex_basis_content.sql
similarity index 100%
rename from sql/2022/interop/flex_basis_content.sql
rename to sql/2022/interoperability/flex_basis_content.sql
diff --git a/sql/2022/interop/flex_basis_content_2021.sql b/sql/2022/interoperability/flex_basis_content_2021.sql
similarity index 100%
rename from sql/2022/interop/flex_basis_content_2021.sql
rename to sql/2022/interoperability/flex_basis_content_2021.sql
diff --git a/sql/2022/interop/flexbox_trends.sql b/sql/2022/interoperability/flexbox_trends.sql
similarity index 100%
rename from sql/2022/interop/flexbox_trends.sql
rename to sql/2022/interoperability/flexbox_trends.sql
diff --git a/sql/2022/interop/justify_content_values.sql b/sql/2022/interoperability/justify_content_values.sql
similarity index 100%
rename from sql/2022/interop/justify_content_values.sql
rename to sql/2022/interoperability/justify_content_values.sql
diff --git a/sql/2022/interop/layer_adoption.sql b/sql/2022/interoperability/layer_adoption.sql
similarity index 100%
rename from sql/2022/interop/layer_adoption.sql
rename to sql/2022/interoperability/layer_adoption.sql
diff --git a/sql/2022/interop/layer_per_page.sql b/sql/2022/interoperability/layer_per_page.sql
similarity index 100%
rename from sql/2022/interop/layer_per_page.sql
rename to sql/2022/interoperability/layer_per_page.sql
diff --git a/sql/2022/interop/perspective_none.sql b/sql/2022/interoperability/perspective_none.sql
similarity index 100%
rename from sql/2022/interop/perspective_none.sql
rename to sql/2022/interoperability/perspective_none.sql
diff --git a/sql/2022/interop/position_sticky.sql b/sql/2022/interoperability/position_sticky.sql
similarity index 100%
rename from sql/2022/interop/position_sticky.sql
rename to sql/2022/interoperability/position_sticky.sql
diff --git a/sql/2022/interop/subgrid.sql b/sql/2022/interoperability/subgrid.sql
similarity index 100%
rename from sql/2022/interop/subgrid.sql
rename to sql/2022/interoperability/subgrid.sql
diff --git a/sql/2022/interop/transform_style_preserve_3d.sql b/sql/2022/interoperability/transform_style_preserve_3d.sql
similarity index 100%
rename from sql/2022/interop/transform_style_preserve_3d.sql
rename to sql/2022/interoperability/transform_style_preserve_3d.sql
diff --git a/sql/2022/interop/viewport_units.sql b/sql/2022/interoperability/viewport_units.sql
similarity index 100%
rename from sql/2022/interop/viewport_units.sql
rename to sql/2022/interoperability/viewport_units.sql
diff --git a/src/config/2022.json b/src/config/2022.json
index 3a3a3366ecf..5d9d6457b9b 100644
--- a/src/config/2022.json
+++ b/src/config/2022.json
@@ -69,9 +69,8 @@
"part": "I",
"chapter_number": "9",
"title": "Interoperability",
- "slug": "interop",
- "hero_dir": "2022",
- "todo": true
+ "slug": "interoperability",
+ "hero_dir": "2022"
}
]
},
@@ -571,7 +570,7 @@
"meyerweb": {
"name": "Eric A. Meyer",
"teams": [
- "authors"
+ "reviewers"
],
"avatar_url": "939727",
"github": "meyerweb",
@@ -892,16 +891,6 @@
"avatar_url": "44303527",
"github": "somecloudguy"
},
- "karlcow": {
- "name": "Karl Dubost",
- "teams": [
- "reviewers"
- ],
- "avatar_url": "505230",
- "github": "karlcow",
- "website": "http://www.la-grange.net/karl/",
- "twitter": "karlcow"
- },
"kevinfarrugia": {
"name": "Kevin Farrugia",
"teams": [
diff --git a/src/config/last_updated.json b/src/config/last_updated.json
index d8812467697..4a24c7120d1 100644
--- a/src/config/last_updated.json
+++ b/src/config/last_updated.json
@@ -621,7 +621,7 @@
"date_modified": "2022-09-26T00:00:00.000Z",
"hash": "8883cb9f839ad417c959f685cd198c3a"
},
- "en/2022/chapters/interop.html": {
+ "en/2022/chapters/interoperability.html": {
"date_published": "2022-09-26T00:00:00.000Z",
"date_modified": "2022-09-26T00:00:00.000Z",
"hash": "9cac946ae07b30a57e27ebd988592da3"
diff --git a/src/content/en/2022/interop.md b/src/content/en/2022/interop.md
deleted file mode 100644
index 2416bf4df64..00000000000
--- a/src/content/en/2022/interop.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-#See https://github.com/HTTPArchive/almanac.httparchive.org/wiki/Authors'-Guide#metadata-to-add-at-the-top-of-your-chapters
-title: Interoperability
-#TODO - Review and update chapter description
-description: Interoperability chapter of the 2022 Web Almanac covering ...
-authors: [bkardell, meyerweb]
-reviewers: [karlcow, foolip, miketaylr]
-analysts: [rviscomi, kevinfarrugia]
-editors: []
-translators: []
-results: https://docs.google.com/spreadsheets/d/1w3GzzTNeKxafFODmjDs6OC2dseNEDDKwUV8KeSgRI1Y/
-featured_quote: TODO
-featured_stat_1: TODO
-featured_stat_label_1: TODO
-featured_stat_2: TODO
-featured_stat_label_2: TODO
-featured_stat_3: TODO
-featured_stat_label_3: TODO
-unedited: true
----
-
-## TODO
diff --git a/src/content/en/2022/interoperability.md b/src/content/en/2022/interoperability.md
new file mode 100644
index 00000000000..0b43d5a9f1d
--- /dev/null
+++ b/src/content/en/2022/interoperability.md
@@ -0,0 +1,402 @@
+---
+#See https://github.com/HTTPArchive/almanac.httparchive.org/wiki/Authors'-Guide#metadata-to-add-at-the-top-of-your-chapters
+title: Interoperability
+description: Interoperability chapter of the 2022 Web Almanac covering Compat 2021 (Gird and Flexbox) and Interop 2022 (Forms, Scrolling, Typography and encodings, dialog, containment, subgrid, color spaces, viewport units and cascade layers)
+authors: [bkardell]
+reviewers: [meyerweb, foolip]
+analysts: [rviscomi, kevinfarrugia]
+editors: [tunetheweb]
+translators: []
+bkardell_bio: Brian Kardell is a developer advocate and W3C Advisory Committee Representative at Igalia, a standards contributor, blogger. He was a founder of the Extensible Web Community Group and co-author of The Extensible Web Manifesto.
+results: https://docs.google.com/spreadsheets/d/1w3GzzTNeKxafFODmjDs6OC2dseNEDDKwUV8KeSgRI1Y/
+featured_quote: Interoperability is a key goal of standards, but we've sometimes fallen short. This chapter will begin providing an annual update to developers about efforts to come together to improve things. It will cover what's new or improved in terms of interoperability this year, and will provide a means for implementers to measure the impacts over time.
+featured_stat_1: 309%
+featured_stat_label_1: The increase in sites using CSS aspect-ratio between April 2021 and September 2022
+featured_stat_2: 0.3%
+featured_stat_label_2: The percentage of sites using the newly interoperable dialog element as of September 2022
+featured_stat_3: 4%
+featured_stat_label_3: The number of mobile pages using recently interoperable CSS containment in their stylesheets. Containment support is critical for Container Queries.
+---
+
+## Introduction
+
+In 2019, the Mozilla Developer Network's (MDN) Product Advisory Board put together a significant survey of over 28,000 developers and designers from 173 countries. Findings from this were published as the first Web Developer Needs Assessment (Web DNA). This study identified—among other things—that some of the key frustrations and pain points most often involved differences between browsers. In 2020 this led to a followup known as the MDN Browser Compatibility Report.
+
+Historically, implementer priorities and focus are independently managed. However, given this new data, browser manufactures came together for another first-of-its-kind effort called _Compat 2021_, which identified 5 specific areas of joint focus toward alignment across thousands of Web Platform Tests. At the beginning of Compat 2021, all engines scored only 65-70% compatibility in the five areas in stable, shipping browsers. Today, all of them are over 90%. In 2022, this effort was expanded—and renamed—to _Interop 2022_.
+
+Both of these efforts offer some different things for this chapter to look at. It's been nearly a year since most improvements from Compat 2021 shipped, and while many things in Interop 2022 are already deployed in shipping browsers, there is more to come before the end of the year.
+
+An interesting question in these efforts is "how do we know that we did well (or didn't)?" Seeing significant score improvements is useful, but insufficient without developer adoption. So, this year for the first time, the Web Almanac will also include a new Interoperability chapter to begin wrestling with these questions and provide some central information to developers about what's changed, and what's worth another look.
+
+This chapter will summarize the work done in Compat 2021 and measure what we can, as well as look into what's happening in Interop 2022 and consider whether there are also potentially valuable metrics we can track over time. Both of these efforts contain a wide mix of cases from stable, already useful features with varying degrees of incompatibility or frustration to brand new things we tried to set off right from the start.
+
+## Compat 2021
+
+Compat 2021 had 5 major focus areas
+
+- Aspect Ratio
+- Flexbox
+- Grid
+- Sticky Position
+- Transforms
+
+In January 2021, all stable/shipping browsers scored 65-70% compatibility in these areas, and it wasn't necessarily the same 30-35% of tests that were failing in each browser.
+
+{{ figure_markup(
+ image="compat-2021-dashboard.png",
+ caption='Compat 2021 dashboard.
(Source: Web Platform Tests)',
+ description="A recent screenshot from Compat 2021 dashboard showing the improvement in interoperability in real, shipping, stable browsers: Chrome/Edge 96%, Firefox 91%, Safari 94%.",
+ width=780,
+ height=801
+ )
+}}
+
+Today, you can see that significant levels of improvement have been made. Chrome and Edge are at 96%, Firefox at 91%, and Safari at 94%.
+
+### Grid
+
+CSS Grid is one of the most popular features in many years. [The HTTP Archive data](./css#flexbox-and-grid-adoption) shows year over year doubling of adoption since its arrival, with a slight slowdown this year—only increasing half-again instead of doubling. Grid already had quite a high degree of interoperability, but there were still a number of minor differences in support. Work was done throughout 2021 and 2022 to improve alignment of the over 900 tests in Web Platform Tests that test features of Grid. If you've had past headaches trying to do something in Grid, give it another try—the situation may have changed for the better.
+
+A good example of this is the ability to animate grid tracks—grid rows and columns—which as of mid-2022 was only supported by Firefox. However, as this chapter was being written, grid-track animation was added to both WebKit and Chromium, meaning all three major engines should be animating grid tracks by the time you read this.
+
+### Flexbox
+
+Flexbox is even older and more widely used. This year its use has grown again, [now appearing on 75% of mobile pages and 76% of desktop pages](./css#flexbox-and-grid-adoption). It has a similar number of tests to Grid and despite very wide adoption started in much worse shape. Entering 2021, some sub-features remained under-implemented, including:
+
+- Both Chrome and WebKit had issues with auto-height flex containers, leading to incorrectly sized images, which has now been resolved. {# TODO: Is this correct Brian? Added this to make it a sentence, as part of breaking up the list to allow the figures to be added #}
+
+- CSS Box alignment defines several types of alignment. Among them [positional-alignment keyword values](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Alignment#positional_alignment_keyword_values), which can be applied to justify-content and align-content and also to justify-self and align-self. These had ragged support and several interoperability issues. For absolute positioned flex items this was even worse. Again, these issues have been resolved. {# TODO: Again, is this correct Brian? Added this to make it a sentence, as part of breaking up the list to allow the figures to be added #}
+
+There were others issues, on top of these, that deserve some more indepth analysis.
+
+#### `flex-basis: content`
+
+{{ figure_markup(
+ caption="Desktop pages using `flex-basis: content` in their stylesheets.",
+ content="112,323",
+ classes="big-number",
+ sheets_gid="1354091711",
+ sql_file="flex_basis_content.sql"
+)
+}}
+
+`flex-basis: content`, which is used to automatically size based on the flex item's content, was implemented in WebKit and Chromium, but not Firefox. Today these tests pass uniformly in all browsers and `flex-basis: content` appears on 112,323 pages on desktop and 75,565 mobile, roughly 1% of pages. That's not a bad start for a feature in its first year of universal support and about double what it was last year. We'll keep an eye on this metric in the future.
+
+{{ figure_markup(
+ caption="Desktop pages using `position: sticky` in their stylesheets.",
+ content="5.5%",
+ classes="big-number",
+ sheets_gid="712845051",
+ sql_file="position_sticky.sql"
+)
+}}
+
+#### Sticky positioning
+
+Sticky positioning has been around for a while. In fact, it's worth noting that it is the [most popular feature query in used by a large margin](../2021/css#feature-queries), accounting for over 50% of feature queries. It had several interoperability issues; for example, the inability to stick headers in tables in Chrome. `position: sticky` is actively used in around 5% of desktop pages and 4% of mobile pages in 2022. We'll keep an eye on this metric for some time to come to see how addressing those interoperability issues affects adoption over time.
+
+{{ figure_markup(
+ image="css-transforms-wpt-dashboard-stable.png",
+ caption='CSS Transforms Web Page Tests dashboard (stable).
(Source: Web Platform Tests)',
+ description="Compat 2021 graph showing css-transforms improving by 20-30% in all stable browsers between then and now.",
+ width=720,
+ height=479
+ )
+}}
+
+#### CSS transforms
+
+CSS Transforms are popular and have been around for a long time. However, there were many interoperability issues at the start, particularly around `perspective:none` and `transform-style: preserve-3d`. This meant that many animations were annoyingly inconsistent.
+
+{{ figure_markup(
+ image="css-transforms-wpt-dashboard-experimental.png",
+ caption='CSS Transforms Web Page Tests dashboard (experimental).
(Source: Web Platform Tests)',
+ description="Compat 2021 graph showing the same CSS transforms in experimental browsers, in which all browsers are scoring 90% or better.",
+ width=720,
+ height=479
+ )
+}}
+
+A recent compat 2021 graph showing the same CSS transforms in experimental browsers as above shows all browsers are scoring 90% or better in their experimental versions, which show future versions of the browsers. This was one of the areas with big, visible improvements in stable browsers, which continue to improve, as part of Interop 2022 involves continuing Compat 2021 work.
+
+#### `aspect-ratio`
+
+`aspect-ratio` was a new feature developed in 2021. Given its potential widespread usefulness, we chose to aim for high interoperability from the start.
+
+{{ figure_markup(
+ image="aspect-ratio-usage.png",
+ caption='Aspect-ratio usage over time.
(Source: Chrome Status)',
+ description="A chart showing steady adoption over time of aspect-ratio containing rules over the last year and a half or so, going from 0.11% on desktop and 0.24% on mobile to 1.44% on desktop and 1.55% on mobile.",
+ chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vSu00TnW-7UyYdnE2O4XVTW55MWJ0o5jmj-LWVYESaWrzhaCHELP82GwEnYxgEw3ZCmGMB6aiSVfaw7/pubchart?oid=921119661&format=interactive",
+ sheets_gid="1987465082"
+) }}
+
+In 2022, `aspect-ratio` is already appearing in the [CSS of 2% of URLs in the archive crawl](./css#the-aspect-ratio-property). Note that doesn't mean that 2% of these pages are using `aspect-ratio` themselves: rules may be loaded for use in other pages on the site. Which rules are applied in those pages is a different question, and it shows a more modest 1.55% of page views on desktop and 1.44% on mobile. Still, the growth chart shows steady and increasing adoption. This will be an interesting metric to track as we move forward.
+
+## Interop 2022
+
+Like the _Compat_ effort before it, the renamed _Interop_ effort focuses on a mix of things from collections of bugs to landing good, final implementations to relatively new but quickly shipping features we'd like to set off in good standing. Let's start with the bugs…
+
+### Bugs
+
+In many cases, we have otherwise mature features with ragged bugs reported in different browsers. Ragged bugs mean that the authoring experience is potentially a lot worse than individual pass rates might imply. For example, if all browsers report a pass rate on a series of tests of 70%, but all browsers fail on a different 30%, interoperability in practice would be quite low. A significant portion of our focus in Interop 2022 is around aligning implementations and closing bugs on features like these.
+
+#### Forms
+
+For most of the web's history, forms have played a pretty important role. In 2022, over 69% of desktop pages include a `. They've had a lot of investment, but despite that, they're still the source of a lot of browser bugs as developers find cases where things differ from the specs, or differ from other implementations in sometimes subtle ways. We identified a set of 200 tests in which the pass rate was very ragged. Individual scores ranged from ~62% (Safari) to ~91% (Chrome), but again, each browser had different gaps in support.
+
+We have made some pretty radical progress toward closing these gaps in experimental releases, and we hope that as we close out the year these will land in stable browsers. There is probably little that can be tracked here using the HTTP Archive data in terms of use, or adoption, but hopefully developers experience less pain and frustration and require fewer workarounds for individual browsers.
+
+{{ figure_markup(
+ image="forms-wpt-dashboard.png",
+ caption='Forms WPT dashboard (experimental).
(Source: Web Platform Tests)',
+ description="A chart showing the improvement in forms interoperability over the course of 2022 in all browsers—very significant for Safari. All browsers are now scoring between ~92-99%.",
+ width=732,
+ height=696
+ )
+}}
+
+#### Scrolling
+
+Over the years we've added new patterns and developed new abilities around scroll experiences like `scroll-snap`, `scroll-behavior`, and `overscroll-behavior`. The desire for these sorts of powers are clear—in 2022, the number of CSS stylesheets including some of these key properties looked like this:
+
+{{ figure_markup(
+ image="scroll-property-adoption.png",
+ caption='Scroll property adoption.',
+ description="A chart scroll property adoption on desktop and mobile. `scroll-snap-type` is used on 7.8% of desktop pages and 7.9% of mobile pages, `scroll-behavior` is used on 7.2% of desktop pages and 6.9% of mobile pages, and finally `overscroll-behavior` is used on 2.4% of desktop pages and 3.0% of mobile pages.",
+ chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vSu00TnW-7UyYdnE2O4XVTW55MWJ0o5jmj-LWVYESaWrzhaCHELP82GwEnYxgEw3ZCmGMB6aiSVfaw7/pubchart?oid=1940734631&format=interactive",
+ sheets_gid="1538908642",
+ sql_file="../css/all_properties.sql"
+) }}
+
+Unfortunately, this is an area where a number of incompatibilities remain, and dealing with incompatibilities in scrolling causes developers a lot of pain. We identified 106 Web Platform Tests around scrolling. At the beginning of the process, stable-release scores ranged from ~70% (Firefox and Safari) to about 88% (Chrome). Again, keep in mind that these are overall scores—because the gaps differed, the real "interoperability" intersection was lower than any of these.
+
+{{ figure_markup(
+ image="scrolling-wpt-dashboard.png",
+ caption='Scolling WPT dashboard.
(Source: Web Platform Tests)',
+ description="A recent chart showing improvements in experimental browsers showing significant gains and alignment, particularly in Firefox which went from about 71% to over 86%.",
+ width=718,
+ height=683
+ )
+}}
+
+It is very difficult to estimate what effect these improvements will have on adoption over time, but we'll keep an eye on these metrics. In the meantime, if you've experienced some interoperability pains with scrolling features, you might give them another look. We hope that as these improvements continue and reach stable browser releases, the experience will get a lot better.
+
+#### Typography and Encodings
+
+Rendering of text is sort of the web's forte. Like forms, many basic ideas have been around forever, but there remain a number of gaps and inconsistencies around support for typography and encodings.
+
+Interop 2022 took up a general bag of issues around `font-variant-alternates`, `font-variant-position`, the `ic` unit, and CJK text encodings. We identified 114 tests in Web Platform Tests representing different sorts of gaps.
+
+{{ figure_markup(
+ image="typography-and-encodings-wpt-dashboard.png",
+ caption='Typography and encodings WPT dashboard.
(Source: Web Platform Tests)',
+ description="A chart showing the interoperability scores for typography and encodings over the past year. Chrome began at about 70%, Safari at about 79% and Firefox at about 98%. Chrome has pretty much closed the ground between itself and Safari, but the chart is otherwise 3 straight lines with no change.",
+ width=727,
+ height=688
+ )
+}}
+
+Chrome has recently begun to close gaps with Safari, but both Safari and WebKit still require some attention to catch up to the completeness of Firefox in this area.
+
+### Completing Implementations
+
+Aligning implementations is particularly difficult. There is a delicate balance between the need for experimentation and initial implementation experience and having enough agreement to ensure that the work is well understood and very likely to reach the status of shipping implementation in all browsers. Sometimes this alignment can take years. This year we've focused on three items which had an implementation and at least some agreement that it's ready: The `