<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://web.dev/</id>
  <title>Robert Nyman on web.dev</title>
  <updated>2026-04-15T23:21:06Z</updated>
  <author>
    <name>Robert Nyman</name>
  </author>
  <link href="https://web.dev/authors/robertnyman/feed.xml" rel="self"/>
  <link href="https://web.dev/"/>
  <icon>https://web-dev.imgix.net/image/admin/fbCJc4uifsZ4d5KolJ7j.jpg?auto=format</icon>
  <logo>https://web.dev/images/shared/rss-banner.png</logo>
  <subtitle>Developer advocate on the web team at Google.</subtitle>
  
  
  <entry>
    <title>Submit your proposals for Interop 2024</title>
    <link href="https://web.dev/interop-2024-proposals/"/>
    <updated>2023-09-14T00:00:00Z</updated>
    <id>https://web.dev/interop-2024-proposals/</id>
    <content type="html" mode="escaped">&lt;p&gt;Over the past two years the Chrome team has successfully worked with our partners to improve the interoperability of the web. For &lt;a href=&quot;https://web.dev/interop-2022-wrapup/&quot;&gt;Interop 2022&lt;/a&gt; all major browser vendors and other stakeholders worked together to improve top browser compatibility issues identified by web developers. We repeated the process with &lt;a href=&quot;https://web.dev/interop-2023/&quot;&gt;Interop 2023&lt;/a&gt;, which still has a few months to run yet is already seeing a huge improvement in scores. For Interop 2023, we also requested public proposals for features to include, which led to many great suggestions representing the needs of the wider web ecosystem.&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt=&quot;The Scores for Interop overall: 62, Investigations: 0, and the scores per browser - 86 for Chrome and Edge, 74 for Firefox, 86 for Safari Technology Preview.&quot; decoding=&quot;async&quot; height=&quot;866&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
  &lt;figcaption&gt;January 2023.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
  &lt;img alt=&quot;The scores for Interop overall: 81, Investigations 59, and per browser, 96 for Chrome Dev and Edge Dev, 88 for Firefox Nightly, and 92 for Safari Technology Preview.&quot; decoding=&quot;async&quot; height=&quot;808&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/25TJc2Fc8gJ4Qp9vQUNA.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
  &lt;figcaption&gt;September 2023.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;It&#39;s been a huge success, with many features reaching interoperability, and we&#39;re happy to announce that Interop 2024 is happening.&lt;/p&gt;
&lt;p&gt;The first step is to gather suggested features, once again including ideas from the wider community, so the Interop 2024 proposal process is now open for submissions. Suggestions can include features that behave differently across browsers, or features that are not yet implemented in all browsers. Keep in mind that proposals with high quality specifications and web platform tests are &lt;a href=&quot;https://github.com/web-platform-tests/interop/blob/main/README.md#requirements-for-focus-area-proposals&quot; rel=&quot;noopener&quot;&gt;more likely to be included&lt;/a&gt;, as this project is about reaching interoperability rather than specifying new features. The proposal submission process ends October 5, 2023.&lt;/p&gt;
&lt;p&gt;Once the proposal period ends, the collected submissions will be discussed by browser vendors and other partners to determine the final list. It&#39;s likely that there will be more proposals than can be achieved during 2024, so some high quality proposals may not be selected. We are looking forward to reviewing &lt;a href=&quot;https://github.com/orgs/web-platform-tests/projects/3&quot; rel=&quot;noopener&quot;&gt;all the submissions&lt;/a&gt;, and we&#39;ll post the final list here once Interop 2024 gets underway.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/web-platform-tests/interop/issues/new/choose&quot; rel=&quot;noopener&quot;&gt;Submit your proposals here&lt;/a&gt;.&lt;/p&gt;
</content>
    <author>
      <name>Rachel Andrew</name>
    </author><author>
      <name>Robert Nyman</name>
    </author><author>
      <name>Philip Jägenstedt</name>
    </author><author>
      <name>Nandu Nair</name>
    </author>
  </entry>
  
  <entry>
    <title>Interop 2023: continuing to improve the web for developers</title>
    <link href="https://web.dev/interop-2023/"/>
    <updated>2023-02-01T00:00:00Z</updated>
    <id>https://web.dev/interop-2023/</id>
    <content type="html" mode="escaped">&lt;p&gt;In 2023, all major browser vendors and other stakeholders are again working together to solve the top browser compatibility issues. The effort started on this scale with Interop 2022, and you can learn what we achieved together in the &lt;a href=&quot;https://web.dev/interop-2022-wrapup/&quot;&gt;end-of-year post&lt;/a&gt;. Everyone involved believes this will help improve the experience for web developers everywhere. This year, for the first time, we publicly announced the &lt;a href=&quot;https://web.dev/submit-your-proposals-for-interop-2023/&quot;&gt;proposal process&lt;/a&gt; and got many great suggestions from frameworks, large companies, browser vendors, and developers everywhere.&lt;/p&gt;
&lt;h2 id=&quot;the-interop-2023-focus-areas&quot;&gt;The Interop 2023 focus areas &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#the-interop-2023-focus-areas&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This time around, we have no less than 26 focus areas, outlined in detail in our &lt;a href=&quot;https://github.com/web-platform-tests/interop/blob/main/2023/README.md#focus-areas&quot; rel=&quot;noopener&quot;&gt;project document&lt;/a&gt;. They are, in alphabetical order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/border-image&quot; rel=&quot;noopener&quot;&gt;Border Image in CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/color_value&quot; rel=&quot;noopener&quot;&gt;Color Spaces and Functions in CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Container_Queries&quot; rel=&quot;noopener&quot;&gt;Container Queries in CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Containment&quot; rel=&quot;noopener&quot;&gt;Containment in CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/Pseudo-classes&quot; rel=&quot;noopener&quot;&gt;CSS Pseudo-classes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/@property&quot; rel=&quot;noopener&quot;&gt;Custom Properties in CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Learn/CSS/CSS_layout/Flexbox&quot; rel=&quot;noopener&quot;&gt;Flexbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/@supports#function_syntax&quot; rel=&quot;noopener&quot;&gt;Font feature detection&lt;/a&gt; and &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/font-palette&quot; rel=&quot;noopener&quot;&gt;palettes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/HTML/Element/form&quot; rel=&quot;noopener&quot;&gt;Forms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Grid_Layout&quot; rel=&quot;noopener&quot;&gt;Grid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/:has&quot; rel=&quot;noopener&quot;&gt;:has()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/HTMLElement/inert&quot; rel=&quot;noopener&quot;&gt;Inert&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Masking&quot; rel=&quot;noopener&quot;&gt;Masking in CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Functions#math_functions&quot; rel=&quot;noopener&quot;&gt;Math Functions in CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/Media_Queries/Using_media_queries&quot; rel=&quot;noopener&quot;&gt;Media Queries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Using_web_workers&quot; rel=&quot;noopener&quot;&gt;Modules in Web Workers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Motion_Path&quot; rel=&quot;noopener&quot;&gt;Motion Path in CSS Animations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/OffscreenCanvas&quot; rel=&quot;noopener&quot;&gt;Offscreen Canvas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/Pointer_events&quot; rel=&quot;noopener&quot;&gt;Pointer and mouse Events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/URL&quot; rel=&quot;noopener&quot;&gt;URL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Web Compat 2023: A catchall focus area for small bugs that cause known site compatibility issues&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/WebCodecs_API&quot; rel=&quot;noopener&quot;&gt;Web Codecs (video)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/Web_Components&quot; rel=&quot;noopener&quot;&gt;Web Components&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can find full details of all focus areas at &lt;a href=&quot;https://github.com/web-platform-tests/interop/blob/main/2023/README.md#focus-areas&quot; rel=&quot;noopener&quot;&gt;Web Platform Tests&lt;/a&gt; based on &lt;a href=&quot;https://developer.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;MDN Web Docs&lt;/a&gt;, however here are a few that we think you might be really excited about.&lt;/p&gt;
&lt;h3 id=&quot;container-queries&quot;&gt;Container Queries &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#container-queries&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Container queries has been a &lt;a href=&quot;https://2021.stateofcss.com/opinions/#currently_missing_from_css_wins&quot; rel=&quot;noopener&quot;&gt;top request&lt;/a&gt; from developers for many years, and in 2022 Chrome and Safari shipped it. Firefox expects to ship container queries in Firefox 110, and the tests for this focus area help to ensure that container queries work reliably cross-browser and according to the spec.&lt;/p&gt;
&lt;h3 id=&quot;has&quot;&gt;:has(…) &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#has&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Developers have for a long time asked for a parent selector in CSS. The &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/:has&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;:has()&lt;/code&gt;&lt;/a&gt; pseudo-class makes possible many of the use cases for parent selectors, as well as selecting a previous sibling element with respect to a reference element. For example, this makes it possible to style a figure that has a caption differently to one that doesn’t. Learn more about the use cases for &lt;code&gt;has()&lt;/code&gt; in &lt;a href=&quot;https://developer.chrome.com/blog/has-m105/&quot; rel=&quot;noopener&quot;&gt;:has(), the family selector&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;custom-properties&quot;&gt;Custom Properties &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#custom-properties&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;CSS custom properties, also known as CSS variables, make it possible to define a value once in a stylesheet and reuse that in many places, reducing repetition. For example, you can define a common color or font size once in a stylesheet and use this across components. Basic support for custom properties has been in browsers for a long time. Interop 2023 focuses on the &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/@property&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;@property&lt;/code&gt;&lt;/a&gt; at-rule. &lt;code&gt;@property&lt;/code&gt; represents a custom property registration in a stylesheet, allowing for property type checking, setting default values, and whether the property should inherit values. Learn more in &lt;a href=&quot;https://web.dev/at-property/&quot;&gt;@property: giving superpowers to CSS variables&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;css-masking&quot;&gt;CSS masking &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#css-masking&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Masking&quot; rel=&quot;noopener&quot;&gt;CSS masking&lt;/a&gt; provides methods to apply image effects, such as you might see in a graphics application, using CSS. Support for the various masking properties is patchy, making masking harder to use than it should be. This focus area will help developers to confidently use creative effects cross-browser. Learn more about applying effects to images in this &lt;a href=&quot;https://web.dev/css-masking/&quot;&gt;article about image masking&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;offscreencanvas&quot;&gt;OffscreenCanvas &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#offscreencanvas&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&quot;https://developer.mozilla.org/docs/Web/HTML/Element/canvas&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt;&lt;/a&gt;  element and Canvas API provide a scriptable way to draw graphics to the screen. However, this can cause performance problems as the work is completed on the same thread as user interaction.  &lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/OffscreenCanvas&quot; rel=&quot;noopener&quot;&gt;OffscreenCanvas&lt;/a&gt; offers developers a canvas which is decoupled from the DOM and the Canvas API. Developers can also run rendering tasks in a Web Worker, separate from the main thread. Learn more about &lt;a href=&quot;https://developer.chrome.com/blog/offscreen-canvas/&quot; rel=&quot;noopener&quot;&gt;the performance benefits of OffscreenCanvas&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;pointer-and-mouse-events&quot;&gt;Pointer and mouse events &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#pointer-and-mouse-events&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/Pointer_events&quot; rel=&quot;noopener&quot;&gt;Pointer events&lt;/a&gt; are fired when interacting with a page using a mouse, pen, stylus, or touch screen. Mouse events are fired when using a mouse, but for historical reasons also for touch. This focus area covers the behavior of pointer and mouse interaction with pages, including how they interact with hit testing and scrolling areas. The focus area for 2023 excludes touch and stylus, due to a lack of Web Platform Tests in this area.&lt;/p&gt;
&lt;h3 id=&quot;webcodecs&quot;&gt;WebCodecs &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#webcodecs&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&quot;https://developer.mozilla.org/docs/Web/API/WebCodecs_API&quot; rel=&quot;noopener&quot;&gt;WebCodecs API&lt;/a&gt; provides methods for developers to access the individual frames of video, and chunks of audio. It offers access to codecs that are already available in the browser, and various interfaces to interact with them. The article &lt;a href=&quot;https://developer.chrome.com/en/articles/webcodecs/&quot; rel=&quot;noopener&quot;&gt;Video processing with WebCodecs&lt;/a&gt; shows how to use the API to decode and render individual frames to a canvas.&lt;/p&gt;
&lt;h3 id=&quot;web-components&quot;&gt;Web Components &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#web-components&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/Web_Components&quot; rel=&quot;noopener&quot;&gt;Web Components&lt;/a&gt; is an umbrella term for a number of technologies used to create reusable components, such as Custom Elements and Shadow DOM. Interop 2023 will focus on improving the interoperability of these foundational technologies.&lt;/p&gt;
&lt;h2 id=&quot;dashboard&quot;&gt;Dashboard &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#dashboard&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Follow progress throughout the year &lt;a href=&quot;https://wpt.fyi/interop-2023/&quot; rel=&quot;noopener&quot;&gt;on the Interop 2023 dashboard&lt;/a&gt;, where you can see current scores and the status of addressing these focus areas across all major browser engines.&lt;/p&gt;
&lt;figure&gt;
&lt;a href=&quot;https://wpt.fyi/interop-2023/&quot;&gt;
&lt;img alt=&quot;The Scores for Interop overall: 62, Investigations: 0, and the scores per browser - 86 for Chrome and Edge, 74 for Firefox, 86 for Safari Technology Preview.&quot; decoding=&quot;async&quot; height=&quot;866&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/rK7xV8u6Jvf9oSl7VkCT.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
&lt;/a&gt;
&lt;figcaption&gt;The Interop 2023 Dashboard (screenshot taken January 31st, 2023).&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The Focus Area scores are calculated based on test pass rates. If you have feedback or want to contribute improvements to &lt;a href=&quot;https://github.com/web-platform-tests/wpt&quot; rel=&quot;noopener&quot;&gt;WPT&lt;/a&gt;, please file an issue to request updating the set of tests used for scoring.&lt;/p&gt;
&lt;figure&gt;
&lt;a href=&quot;https://wpt.fyi/interop-2023/&quot;&gt;
&lt;img alt=&quot;A list of all Active Focus Areas together with browser scores and overall Interop score&quot; decoding=&quot;async&quot; height=&quot;1032&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/NYQC2r4udqv0RXxrkWVe.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
&lt;/a&gt;
&lt;figcaption&gt;All the Active Focus Areas and their overall Interop Score.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&quot;more-about-interop-2023&quot;&gt;More about Interop 2023 &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2023/#more-about-interop-2023&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webkit.org/blog/13706/interop-2023/&quot; rel=&quot;noopener&quot;&gt;Apple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bocoup.com/blog/interop-2023&quot; rel=&quot;noopener&quot;&gt;Bocoup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.igalia.com/news/2023/interop2023.html&quot; rel=&quot;noopener&quot;&gt;Igalia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blogs.windows.com/msedgedev/2023/02/01/microsoft-edge-and-interop-2023/&quot; rel=&quot;noopener&quot;&gt;Microsoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hacks.mozilla.org/2023/02/announcing-interop-2023/&quot; rel=&quot;noopener&quot;&gt;Mozilla&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    <author>
      <name>Robert Nyman</name>
    </author><author>
      <name>Philip Jägenstedt</name>
    </author><author>
      <name>Rachel Andrew</name>
    </author>
  </entry>
  
  <entry>
    <title>Submit your proposals for Interop 2023</title>
    <link href="https://web.dev/submit-your-proposals-for-interop-2023/"/>
    <updated>2022-09-21T00:00:00Z</updated>
    <id>https://web.dev/submit-your-proposals-for-interop-2023/</id>
    <content type="html" mode="escaped">&lt;p&gt;The Chrome team has worked with other browser vendors and partners in the ecosystem to help improve browser compatibility since 2019, starting with the &lt;a href=&quot;https://insights.developer.mozilla.org/reports/mdn-web-developer-needs-assessment-2019.html&quot; rel=&quot;noopener&quot;&gt;MDN Developer Needs Assessment&lt;/a&gt; survey and most recently on &lt;a href=&quot;https://web.dev/interop-2022/&quot;&gt;Interop 2022&lt;/a&gt;. For Interop 2022, all major browser vendors and other stakeholders worked together to improve top browser compatibility issues identified by web developers. We are thrilled at &lt;a href=&quot;https://wpt.fyi/interop-2022&quot; rel=&quot;noopener&quot;&gt;the progress that we’ve made together&lt;/a&gt; and are excited to announce Interop 2023 is happening!&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt=&quot;Showing three circles with scores: 71 for Chrome Dev and Edge Dev, 74 for Firefox Nightly, and 73 for Safari Technology Preview.&quot; decoding=&quot;async&quot; height=&quot;375&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8ryQRYl1NBObumG4IA97.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
  &lt;figcaption&gt;March 2022.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
  &lt;img alt=&quot;Showing three circles with scores: 80 for Chrome Dev and Edge Dev, 82 for Firefox Nightly, and 86 for Safari Technology Preview.&quot; decoding=&quot;async&quot; height=&quot;501&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/8fXDfdtPWAh2xMF6iiYT.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
  &lt;figcaption&gt;September 2022.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The Interop 2023 proposal process is now open for submissions. Suggestions can include features that behave differently across browsers, or features that are not yet implemented in all browsers. Keep in mind that proposals with high quality specifications and web platform tests are more likely to be included, as this project is about reaching interoperability rather than specifying new features. &lt;a href=&quot;https://github.com/web-platform-tests/interop/issues/new?template=focus-area-proposal.yml&quot; rel=&quot;noopener&quot;&gt;The proposal submission process&lt;/a&gt; ends October 15, 2022.&lt;/p&gt;
&lt;p&gt;Once the proposal period ends, the &lt;a href=&quot;https://github.com/web-platform-tests/interop/issues?q=is%3Aissue+is%3Aopen+label%3Afocus-area-proposal&quot; rel=&quot;noopener&quot;&gt;collected submissions&lt;/a&gt; will be discussed by browser vendors and other partners to determine the final list.  It’s likely that there will be more proposals than can be achieved during 2023, so some high quality proposals may not be selected. We are looking forward to reviewing all the submissions, and we’ll post the final list here once Interop 2023 gets underway.&lt;/p&gt;
</content>
    <author>
      <name>Rachel Andrew</name>
    </author><author>
      <name>Robert Nyman</name>
    </author><author>
      <name>Philip Jägenstedt</name>
    </author>
  </entry>
  
  <entry>
    <title>Interop 2022: browsers working together to improve the web for developers</title>
    <link href="https://web.dev/interop-2022/"/>
    <updated>2022-03-03T00:00:00Z</updated>
    <id>https://web.dev/interop-2022/</id>
    <content type="html" mode="escaped">&lt;p&gt;For the first time ever, all major browser vendors, and other stakeholders, have come together to solve the top browsers compatibility issues identified by web developers. Interop 2022 will improve the experience of developing for the web in 15 key areas. In this article, find out how we got here, what the project focuses on, how success will be measured, and how you can track progress.&lt;/p&gt;
&lt;h2 id=&quot;it-all-started-in-2019&quot;&gt;It all started in 2019 &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#it-all-started-in-2019&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Back in 2019 Mozilla, Google, and others started &lt;a href=&quot;https://insights.developer.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;a major effort&lt;/a&gt; to understand developers&#39; pain points, in the form of the &lt;a href=&quot;https://insights.developer.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;MDN Developer Needs Assessment surveys&lt;/a&gt;, and the deep-dive &lt;a href=&quot;https://insights.developer.mozilla.org/reports/mdn-browser-compatibility-report-2020.html&quot; rel=&quot;noopener&quot;&gt;Browser Compatibility Report&lt;/a&gt;. These reports gave us detailed and actionable information to address top challenges for developers with the web platform, and led to the &lt;a href=&quot;https://web.dev/compat2021/&quot;&gt;Compat 2021 effort&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Among other things, Compat 2021 led to creating a solid foundation for powerful features such as &lt;a href=&quot;https://wpt.fyi/compat2021?feature=css-grid&quot; rel=&quot;noopener&quot;&gt;CSS grid&lt;/a&gt; (&lt;a href=&quot;https://chromestatus.com/metrics/feature/timeline/popularity/1693&quot; rel=&quot;noopener&quot;&gt;12% usage and steadily growing&lt;/a&gt;) and &lt;a href=&quot;https://wpt.fyi/compat2021?feature=css-flexbox&quot; rel=&quot;noopener&quot;&gt;CSS flexbox&lt;/a&gt; (&lt;a href=&quot;https://chromestatus.com/metrics/feature/timeline/popularity/1692&quot; rel=&quot;noopener&quot;&gt;77% usage&lt;/a&gt;), including the &lt;code&gt;gap&lt;/code&gt; property in flexbox, which solves a top pain point for developers when adopting new layout methods.&lt;/p&gt;
&lt;p&gt;We were delighted to reach &lt;a href=&quot;https://web.dev/compat2021-holiday-update/&quot;&gt;a score of over 90%&lt;/a&gt; across all implementations at the end of 2021!&lt;/p&gt;
&lt;h2 id=&quot;what-is-interop-2022&quot;&gt;What is Interop 2022? &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#what-is-interop-2022&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Interop 2022 is a benchmark, agreed on by representatives of three major browser implementations, and developed through a process of &lt;a href=&quot;https://github.com/web-platform-tests/interop-2022/labels/proposal&quot; rel=&quot;noopener&quot;&gt;public nomination&lt;/a&gt; and review with input from &lt;a href=&quot;https://github.com/web-platform-tests/interop-2022/blob/main/supporters.md&quot; rel=&quot;noopener&quot;&gt;supporters&lt;/a&gt; &lt;a href=&quot;https://webkit.org/blog/12288/working-together-on-interop-2022/&quot; rel=&quot;noopener&quot;&gt;Apple&lt;/a&gt;, &lt;a href=&quot;https://bocoup.com/blog/interop-2022&quot; rel=&quot;noopener&quot;&gt;Bocoup&lt;/a&gt;, Google, &lt;a href=&quot;https://igalia.com/news/interop2022.html&quot; rel=&quot;noopener&quot;&gt;Igalia&lt;/a&gt;, &lt;a href=&quot;https://aka.ms/microsoft-interop2022&quot; rel=&quot;noopener&quot;&gt;Microsoft&lt;/a&gt;, and &lt;a href=&quot;https://hacks.mozilla.org/2022/03/interop-2022/&quot; rel=&quot;noopener&quot;&gt;Mozilla&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The benchmark focuses on 15 areas, &lt;a href=&quot;https://web.dev/state-of-css-2021/&quot;&gt;identified by developers&lt;/a&gt; as being particularly troublesome when they are missing or have compatibility issues across browsers. All browser vendors have agreed to focus on these areas, and everyone involved is excited to get started on making the experience of developing for the web measurably better.&lt;/p&gt;
&lt;aside class=&quot;aside flow bg-state-info-bg color-state-info-text&quot;&gt;&lt;div class=&quot; flow&quot;&gt; The terms &amp;quot;compatibility&amp;quot; and &amp;quot;interoperability&amp;quot; are typically distinguished by browser vendors, where compat refers to site compat, and interop refers to two or more browsers behaving the same. In that terminology,this effort is about interoperability and so the project has aligned with that naming. &lt;/div&gt;&lt;/aside&gt;
&lt;h2 id=&quot;the-15-areas-of-focus&quot;&gt;The 15 areas of focus &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#the-15-areas-of-focus&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The following features will be the focus of Interop 2022. They include 10 new areas, plus 5 carried over from Compat 2021. The new areas of focus are:&lt;/p&gt;
&lt;h3 id=&quot;cascade-layers&quot;&gt;Cascade layers &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#cascade-layers&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/@layer&quot; rel=&quot;noopener&quot;&gt;Cascade layers&lt;/a&gt; give web developers more control over the cascade. They provide a way to group selectors into layers, each with its own specificity. This means you don&#39;t need to order selectors carefully or create highly specific selectors to overwrite base CSS rules.&lt;/p&gt;
&lt;h3 id=&quot;color-spaces-and-css-color-functions&quot;&gt;Color spaces and CSS color functions &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#color-spaces-and-css-color-functions&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;To use color functions in a design system, you currently need to rely on Sass, PostCSS, or &lt;code&gt;calc()&lt;/code&gt; on HSL values. Color functions built into CSS mean that colors can be dynamically updated, and new color spaces remove the restriction to the sRGB gamut, and perceptual limitations of HSL.&lt;/p&gt;
&lt;p&gt;There are two functions defined in &lt;a href=&quot;https://drafts.csswg.org/css-color-5/&quot; rel=&quot;noopener&quot;&gt;CSS Color Level 5&lt;/a&gt; that enable more dynamic theming on the web platform:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;color-mix()&lt;/code&gt;: Takes two colors and returns the result of mixing them in a specified color space by a specified amount.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;color-contrast()&lt;/code&gt;: Selects from a list of colors the color with the highest contrast to a specified single color.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These functions support expanded color spaces (LAB, LCH, and P3), and in addition to HSL and sRGB, they default to the uniform LCH color space.&lt;/p&gt;
&lt;h3 id=&quot;new-viewport-units&quot;&gt;New viewport units &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#new-viewport-units&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Difficulties dealing with viewport sizing are prominent in both the &lt;a href=&quot;https://insights.developer.mozilla.org/reports/mdn-browser-compatibility-report-2020.html#findings-viewport&quot; rel=&quot;noopener&quot;&gt;MDN Browser Compatibility Report 2020&lt;/a&gt; and the new &lt;a href=&quot;https://2021.stateofcss.com/en-US/opinions/#browser_interoperability_features&quot; rel=&quot;noopener&quot;&gt;State of CSS 2021&lt;/a&gt; survey. &lt;a href=&quot;https://drafts.csswg.org/css-values-4/#viewport-relative-lengths&quot; rel=&quot;noopener&quot;&gt;CSS Values and Units Level 4&lt;/a&gt; adds new units for the largest, smallest, and dynamic viewport sizes, &lt;code&gt;lv*&lt;/code&gt;, &lt;code&gt;sv*&lt;/code&gt;, and &lt;code&gt;dv*&lt;/code&gt;. These units will make it easier to create layouts that fill the visible viewport on mobile devices while taking the address bar into account.&lt;/p&gt;
&lt;img alt=&quot;The different parts of the viewport for each type of viewport unit.&quot; decoding=&quot;async&quot; height=&quot;664&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/JUvvIgXen1zmHFH53CBS.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
&lt;p&gt;Additionally, the cross vendor team behind Interop 2022 will collaborate on researching and improving the state of interoperability of existing viewport measurement features, including the existing &lt;code&gt;vh&lt;/code&gt; unit.&lt;/p&gt;
&lt;h3 id=&quot;scrolling&quot;&gt;Scrolling &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#scrolling&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&quot;https://web.dev/2021-scroll-survey-report/&quot;&gt;2021 Scroll Survey Report&lt;/a&gt; confirms that scrolling features and scrolling compatibility are difficult to implement and have many areas for improvement. We&#39;ll focus on &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Scroll_Snap&quot; rel=&quot;noopener&quot;&gt;scroll snap&lt;/a&gt;, &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/scroll-behavior&quot; rel=&quot;noopener&quot;&gt;scroll-behavior&lt;/a&gt;, and &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior&quot; rel=&quot;noopener&quot;&gt;overscroll-behavior&lt;/a&gt; to help scrolling be more consistent and smooth across platforms.&lt;/p&gt;
&lt;p&gt;We are also exploring new &lt;a href=&quot;https://github.com/argyleink/ScrollSnapExplainers&quot; rel=&quot;noopener&quot;&gt;scroll snap feature proposals&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;subgrid&quot;&gt;Subgrid &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#subgrid&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Grid_Layout/Subgrid&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;subgrid&lt;/code&gt;&lt;/a&gt; value of &lt;code&gt;grid-template-columns&lt;/code&gt; and &lt;code&gt;grid-template-rows&lt;/code&gt; means that a grid item that has &lt;code&gt;display: grid&lt;/code&gt; applied can inherit the track definition from the part of the parent grid it is placed over.&lt;/p&gt;
&lt;p&gt;For example, the following three card components have a header and footer aligned with the adjacent card headers and footers, even though each card has an independent grid. This pattern works because each card is an item that spans three rows of the parent grid, then uses subgrid to inherit those rows into the card.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt=&quot;A three card component where the headers and footers are aligned between the cards.&quot; decoding=&quot;async&quot; height=&quot;209&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/yYDiYpyyTkH9IJK4KxvA.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
  &lt;figcaption&gt;&lt;a href=&quot;https://codepen.io/web-dot-dev/pen/XWzqrLR&quot;&gt;See this on CodePen&lt;/a&gt;.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id=&quot;also-included&quot;&gt;Also included &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#also-included&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CSS Containment (the &lt;code&gt;contain&lt;/code&gt; property)&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;&amp;lt;dialog&amp;gt;&lt;/code&gt; element&lt;/li&gt;
&lt;li&gt;Form controls&lt;/li&gt;
&lt;li&gt;Typography and Encodings: including &lt;code&gt;font-variant-alternates&lt;/code&gt;, &lt;code&gt;font-variant-position&lt;/code&gt;,  the &lt;code&gt;ic&lt;/code&gt; unit, and CJK text encodings&lt;/li&gt;
&lt;li&gt;Web Compat, which focuses on differences between browsers that have caused site compatibility issues affecting end users&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following areas made great progress through the Compat 2021 project, but there is still room for improvement. Therefore, they have been included in Interop 2022, in order that the remaining issues can be addressed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aspect Ratio&lt;/li&gt;
&lt;li&gt;Flexbox&lt;/li&gt;
&lt;li&gt;Grid&lt;/li&gt;
&lt;li&gt;Sticky Positioning&lt;/li&gt;
&lt;li&gt;Transforms&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;investigation-efforts&quot;&gt;Investigation efforts &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#investigation-efforts&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In addition to the 15 focus areas, Interop 2022 includes three investigation efforts. These are areas that are problematic and need improvement, but where the current state of the specifications or tests aren’t yet good enough to be able to score progress using test results:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Editing, &lt;code&gt;contenteditable&lt;/code&gt; and &lt;code&gt;execCommand&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Pointer and Mouse Events&lt;/li&gt;
&lt;li&gt;Viewport Measurement&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Browser vendors and other stakeholders will collaborate on improving the tests and specifications for these areas, so that they could be included in future iterations of this effort.&lt;/p&gt;
&lt;h2 id=&quot;measuring-success-and-tracking-progress&quot;&gt;Measuring success and tracking progress &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#measuring-success-and-tracking-progress&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;img alt=&quot;The scores per browser - 71 for Chrome and Edge, 74 for Firefox, 73 for Safari Technology Preview.&quot; decoding=&quot;async&quot; height=&quot;374&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/MfdXmrXC3aspp2CIQCdb.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
&lt;p&gt;The existing &lt;a href=&quot;https://wpt.fyi/&quot; rel=&quot;noopener&quot;&gt;web-platform-tests dashboard&lt;/a&gt; will be used to track the progress in the 15 focus areas. For each area, a set of tests have been identified. Browsers are then scored against these tests, giving a score for each area and an overall score for all 15 areas.&lt;/p&gt;
&lt;p&gt;To follow along and track the progress, check out the &lt;a href=&quot;https://wpt.fyi/interop-2022&quot; rel=&quot;noopener&quot;&gt;Interop 2022 dashboard&lt;/a&gt;. Over the course of the year, you can follow along and see how the platform you build for is improving.&lt;/p&gt;
&lt;figure&gt;
  &lt;img alt=&quot;An image of a table with scores for many areas for all major web browsers&quot; decoding=&quot;async&quot; height=&quot;1146&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/RYmV5NPuMZRoF3PVwIXTUpdYeQ23/jrtdwPgBhznFQ5u8cZmk.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
  &lt;figcaption&gt;&lt;a href=&quot;https://wpt.fyi/interop-2022&quot;&gt;See all browser scores per focus area on wpt.fyi/interop-2022.&lt;/a&gt;&lt;/figcaption&gt; 
&lt;/figure&gt;
&lt;h2 id=&quot;what-will-all-this-mean-for-developers&quot;&gt;What will all this mean for developers? &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#what-will-all-this-mean-for-developers&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The goal of these multi-year interoperability efforts, in the form of Compat 2021, Interop 2022 and much more, is to fully acknowledge and address the pain points developers have experienced through for many years. And it&#39;s not a one-browser effort but rather a strong collaboration between all major browser vendors and friends for improving the web platform across the board.&lt;/p&gt;
&lt;p&gt;In essence, the goal is to make the web platform more usable and reliable for developers, so that they can spend more time building great web experiences instead of working around browser inconsistencies.&lt;/p&gt;
&lt;h2 id=&quot;let-us-know-what-you-think&quot;&gt;Let us know what you think &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/interop-2022/#let-us-know-what-you-think&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you have feedback on the improvements made during &lt;a href=&quot;https://web.dev/compat2021/&quot;&gt;Compat 2021&lt;/a&gt;, or on any of the features included in Interop 2022, we would love to hear from you. Which of these features will make the most difference to your work? What are you really excited about? &lt;a href=&quot;https://github.com/web-platform-tests/interop-2022/issues/&quot; rel=&quot;noopener&quot;&gt;File issues for the GitHub repo&lt;/a&gt; or &lt;a href=&quot;https://twitter.com/chromiumdev&quot; rel=&quot;noopener&quot;&gt;let us know on Twitter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;More about Interop 2022 from:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webkit.org/blog/12288/working-together-on-interop-2022/&quot; rel=&quot;noopener&quot;&gt;Apple&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bocoup.com/blog/interop-2022&quot; rel=&quot;noopener&quot;&gt;Bocoup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://igalia.com/news/interop2022.html&quot; rel=&quot;noopener&quot;&gt;Igalia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://aka.ms/microsoft-interop2022&quot; rel=&quot;noopener&quot;&gt;Microsoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hacks.mozilla.org/2022/03/interop-2022/&quot; rel=&quot;noopener&quot;&gt;Mozilla&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    <author>
      <name>Rachel Andrew</name>
    </author><author>
      <name>Robert Nyman</name>
    </author><author>
      <name>Philip Jägenstedt</name>
    </author>
  </entry>
  
  <entry>
    <title>Compat 2021: Eliminating five top compatibility pain points on the web</title>
    <link href="https://web.dev/compat2021/"/>
    <updated>2021-03-22T00:00:00Z</updated>
    <id>https://web.dev/compat2021/</id>
    <content type="html" mode="escaped">&lt;p&gt;Google is working with other browser vendors and industry partners to fix the
top five browser compatibility pain points for web developers. The areas of focus
are CSS flexbox, CSS Grid, &lt;code&gt;position: sticky&lt;/code&gt;, &lt;code&gt;aspect-ratio&lt;/code&gt;, and CSS
transforms. Check out &lt;a href=&quot;https://web.dev/compat2021/#contribute&quot;&gt;How you can contribute and follow along&lt;/a&gt; to
learn how to get involved.&lt;/p&gt;
&lt;h2 id=&quot;background&quot;&gt;Background &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#background&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Compatibility on the web has always been a big challenge for developers. In the
last couple of years, Google and other partners, including Mozilla and
Microsoft, have set out to learn more about the top pain points for web
developers, to drive our work and prioritization to make the situation better.
This project is connected to &lt;a href=&quot;https://web.dev/developer-satisfaction&quot;&gt;Google&#39;s Developer
Satisfaction&lt;/a&gt; (DevSAT) work, and it
started on a larger scale with the creation of the
&lt;a href=&quot;https://insights.developer.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;MDN DNA (Developer Needs Assessment) surveys&lt;/a&gt;
in 2019 and 2020, and a deep-dive research effort presented in the
&lt;a href=&quot;https://insights.developer.mozilla.org/reports/mdn-browser-compatibility-report-2020.html&quot; rel=&quot;noopener&quot;&gt;MDN Browser Compatibility Report 2020&lt;/a&gt;.
Additional research has been done in various channels, such as the &lt;a href=&quot;https://stateofcss.com/&quot; rel=&quot;noopener&quot;&gt;State of
CSS&lt;/a&gt; and &lt;a href=&quot;https://stateofjs.com/&quot; rel=&quot;noopener&quot;&gt;State of JS&lt;/a&gt;
surveys.&lt;/p&gt;
&lt;p&gt;The goal in 2021 is to eliminate browser compatibility problems in five key focus
areas so developers can confidently build on them as reliable foundations. This
effort is called &lt;a href=&quot;https://twitter.com/search?q=%23compat2021&amp;amp;src=typed_query&amp;amp;f=live&quot; rel=&quot;noopener&quot;&gt;&lt;strong&gt;#Compat 2021&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;choosing-what-to-focus-on&quot;&gt;Choosing what to focus on &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#choosing-what-to-focus-on&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;While there are browser compatibility issues in basically all of the web
platform, the focus of this project is on a small number of the most problematic
areas which can be made significantly better, thus removing them as top issues
for developers.&lt;/p&gt;
&lt;p&gt;The compatibility project uses multiple criteria influencing which areas to
prioritize, and some are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Feature usage. For example, flexbox is used in
&lt;a href=&quot;https://www.chromestatus.com/metrics/feature/timeline/popularity/1692&quot; rel=&quot;noopener&quot;&gt;75%&lt;/a&gt;
of all page views, and adoption is growing strongly in &lt;a href=&quot;https://almanac.httparchive.org/en/2020/css#layout&quot; rel=&quot;noopener&quot;&gt;HTTP
Archive&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Number of bugs
(in &lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/list&quot; rel=&quot;noopener&quot;&gt;Chromium&lt;/a&gt;,
&lt;a href=&quot;https://bugzilla.mozilla.org/describecomponents.cgi&quot; rel=&quot;noopener&quot;&gt;Gecko&lt;/a&gt;,
&lt;a href=&quot;https://bugs.webkit.org/&quot; rel=&quot;noopener&quot;&gt;WebKit&lt;/a&gt;), and for Chromium, how many stars those
bugs have.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Survey results:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://insights.developer.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;MDN DNA surveys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://insights.developer.mozilla.org/reports/mdn-browser-compatibility-report-2020.html&quot; rel=&quot;noopener&quot;&gt;MDN Browser Compatibility Report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2020.stateofcss.com/en-US/features/&quot; rel=&quot;noopener&quot;&gt;State of CSS&lt;/a&gt;
most known and used features&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Test results from &lt;a href=&quot;https://github.com/web-platform-tests/wpt#the-web-platform-tests-project&quot; rel=&quot;noopener&quot;&gt;web-platform-tests&lt;/a&gt;. For example, &lt;a href=&quot;https://wpt.fyi/results/css/css-flexbox&quot; rel=&quot;noopener&quot;&gt;flexbox on
wpt.fyi&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://caniuse.com/&quot; rel=&quot;noopener&quot;&gt;Can I use&lt;/a&gt;&#39;s most-searched-for features.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;the-five-top-focus-areas-in-2021&quot;&gt;The five top focus areas in 2021 &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#the-five-top-focus-areas-in-2021&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In 2020, Chromium started work addressing the top areas outlined in
&lt;a href=&quot;https://blog.chromium.org/2020/06/improving-chromiums-browser.html&quot; rel=&quot;noopener&quot;&gt;Improving Chromium&#39;s browser compatibility in 2020&lt;/a&gt;.
In 2021, we are beginning a dedicated effort to go even further. Google and
&lt;a href=&quot;https://blogs.windows.com/msedgedev/2021/03/22/better-compatibility-compat2021/&quot; rel=&quot;noopener&quot;&gt;Microsoft are working together on addressing top issues in Chromium&lt;/a&gt;, along with &lt;a href=&quot;https://www.igalia.com/&quot; rel=&quot;noopener&quot;&gt;Igalia&lt;/a&gt;. Igalia, who are regular contributors
to Chromium and WebKit, and maintainers of the official WebKit port for embedded devices,
have been very supportive and engaged in these compatibility efforts, and will be
helping tackle and track the identified issues.&lt;/p&gt;
&lt;p&gt;Here are the areas which are committed to being fixed in 2021.&lt;/p&gt;
&lt;h3 id=&quot;css-flexbox&quot;&gt;CSS flexbox &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#css-flexbox&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Flexible_Box_Layout&quot; rel=&quot;noopener&quot;&gt;CSS flexbox&lt;/a&gt;
is
&lt;a href=&quot;https://www.chromestatus.com/metrics/feature/timeline/popularity/1692&quot; rel=&quot;noopener&quot;&gt;widely used&lt;/a&gt;
on the web and there are still some major challenges for developers. For example,
both &lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=721123&quot; rel=&quot;noopener&quot;&gt;Chromium&lt;/a&gt; and
&lt;a href=&quot;https://bugs.webkit.org/show_bug.cgi?id=209983&quot; rel=&quot;noopener&quot;&gt;WebKit&lt;/a&gt;
have had issues with &lt;code&gt;auto-height&lt;/code&gt; flex containers leading to incorrectly sized images.&lt;/p&gt;
&lt;div class=&quot;switcher&quot;&gt;
    &lt;figure style=&quot;display: flex; flex-direction: column;&quot;&gt;
    &lt;img alt=&quot;Stretched photo of a chessboard.&quot; decoding=&quot;async&quot; height=&quot;400&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/qmKoKHkZga5hgBeiHuBz.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
        &lt;figcaption style=&quot;margin-top: auto&quot;&gt;
            Incorrectly sized image due to bugs.
        &lt;/figcaption&gt;
    &lt;/figure&gt;
    &lt;figure style=&quot;display: flex; flex-direction: column;&quot;&gt;
        &lt;img alt=&quot;Chessboard.&quot; decoding=&quot;async&quot; height=&quot;800&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/0ruhCiZKRP9jBhnN70Xh.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
        &lt;figcaption style=&quot;margin-top: auto&quot;&gt;
            Correctly sized image. &lt;br /&gt;
            Photo by &lt;a href=&quot;https://unsplash.com/photos/ab5OK9mx8do&quot;&gt;Alireza
            Mahmoudi.&lt;/a&gt;
        &lt;/figcaption&gt;
    &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://blogs.igalia.com/svillar/2021/01/20/flexbox-cats-a-k-a-fixing-images-in-flexbox/&quot; rel=&quot;noopener&quot;&gt;Igalia&#39;s flexbox Cats&lt;/a&gt;
blog post dives deeper into these issues with many more examples.&lt;/p&gt;
&lt;h4 id=&quot;why-it-is-prioritized&quot;&gt;Why it is prioritized &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#why-it-is-prioritized&quot;&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Surveys: Top issue in
&lt;a href=&quot;https://insights.developer.mozilla.org/reports/mdn-browser-compatibility-report-2020.html&quot; rel=&quot;noopener&quot;&gt;MDN Browser Compatibility Report&lt;/a&gt;,
most known and used in &lt;a href=&quot;https://2020.stateofcss.com/en-US/features/&quot; rel=&quot;noopener&quot;&gt;State of
CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tests: &lt;a href=&quot;https://wpt.fyi/results/css/css-flexbox&quot; rel=&quot;noopener&quot;&gt;85% pass&lt;/a&gt; in all browsers&lt;/li&gt;
&lt;li&gt;Usage:
&lt;a href=&quot;https://www.chromestatus.com/metrics/feature/timeline/popularity/1692&quot; rel=&quot;noopener&quot;&gt;75%&lt;/a&gt;
of page views, growing strongly in &lt;a href=&quot;https://almanac.httparchive.org/en/2020/css#layout&quot; rel=&quot;noopener&quot;&gt;HTTP
Archive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;css-grid&quot;&gt;CSS Grid &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#css-grid&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Grid_Layout&quot; rel=&quot;noopener&quot;&gt;CSS Grid&lt;/a&gt; is
a core building block for modern web layouts, replacing many older techniques
and workarounds. As adoption is growing, it needs to be rock solid, so that
differences between browsers is never a reason to avoid it. One area that&#39;s
lacking is the ability to animate grid layouts, supported in Gecko but not
&lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=759665&quot; rel=&quot;noopener&quot;&gt;Chromium&lt;/a&gt; or
&lt;a href=&quot;https://bugs.webkit.org/show_bug.cgi?id=204580&quot; rel=&quot;noopener&quot;&gt;WebKit&lt;/a&gt;. When supported,
effects like this are made possible:&lt;/p&gt;
&lt;figure&gt;
&lt;video autoplay=&quot;&quot; height=&quot;400&quot; loop=&quot;&quot; muted=&quot;&quot; playsinline=&quot;&quot;&gt;      &lt;source src=&quot;https://storage.googleapis.com/web-dev-uploads/video/vgdbNJBYHma2o62ZqYmcnkq3j0o1/Ovs6wg9o5AJUG4IIoVvj.mp4&quot; type=&quot;video/mp4&quot; /&gt;    &lt;/video&gt;
  &lt;figcaption&gt;
    Animated chess demo by &lt;a href=&quot;https://chenhuijing.com/blog/recreating-the-fools-mate-chess-move-with-css-grid/&quot;&gt;Chen
    Hui Jing&lt;/a&gt;.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h4 id=&quot;why-it-is-prioritized-2&quot;&gt;Why it is prioritized &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#why-it-is-prioritized-2&quot;&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Surveys: Runner-up in
&lt;a href=&quot;https://insights.developer.mozilla.org/reports/mdn-browser-compatibility-report-2020.html&quot; rel=&quot;noopener&quot;&gt;MDN Browser Compatibility Report&lt;/a&gt;,
well known but less often used in &lt;a href=&quot;https://2020.stateofcss.com/en-US/features/&quot; rel=&quot;noopener&quot;&gt;State of
CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tests: &lt;a href=&quot;https://wpt.fyi/results/css/css-grid&quot; rel=&quot;noopener&quot;&gt;75% pass&lt;/a&gt; in all browsers&lt;/li&gt;
&lt;li&gt;Usage:
&lt;a href=&quot;https://www.chromestatus.com/metrics/feature/timeline/popularity/1693&quot; rel=&quot;noopener&quot;&gt;8% and growing steady&lt;/a&gt;,
slight growth in &lt;a href=&quot;https://almanac.httparchive.org/en/2020/css#layout&quot; rel=&quot;noopener&quot;&gt;HTTP
Archive&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;aside class=&quot;aside flow bg-state-info-bg color-state-info-text&quot;&gt;&lt;div class=&quot; flow&quot;&gt; While a newer feature like &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Grid_Layout/Subgrid&quot;&gt;subgrid&lt;/a&gt; is important for developers, it isn&#39;t a part of this specific effort. To follow along, see &lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/CSS_Grid_Layout/Subgrid#browser_compatibility&quot;&gt;Subgrid compat on MDN&lt;/a&gt;. &lt;/div&gt;&lt;/aside&gt;
&lt;h3 id=&quot;css-position-sticky&quot;&gt;CSS position: sticky &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#css-position-sticky&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/position#sticky_positioning&quot; rel=&quot;noopener&quot;&gt;Sticky positioning&lt;/a&gt;
allows content to stick to the edge of the viewport and is commonly used
for headers that are always visible at the top of the viewport. While supported
in all browsers, there are common use cases where it doesn&#39;t work as intended.
For example,
&lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=702927&quot; rel=&quot;noopener&quot;&gt;sticky table headers&lt;/a&gt;
aren&#39;t supported in Chromium, and although now
&lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=958381&quot; rel=&quot;noopener&quot;&gt;supported behind a flag&lt;/a&gt;,
the results are inconsistent across browsers:&lt;/p&gt;
&lt;div class=&quot;switcher&quot;&gt;
    &lt;figure&gt;
        &lt;img alt=&quot;&quot; decoding=&quot;async&quot; height=&quot;350&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 250px) 250px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/DtNtuWCZUNwi7GGSBPvA.png?auto=format&amp;w=500 500w&quot; width=&quot;250&quot; /&gt;
        &lt;figcaption&gt;
            Chromium with &quot;TablesNG&quot;
        &lt;/figcaption&gt;
    &lt;/figure&gt;
    &lt;figure&gt;
        &lt;img alt=&quot;&quot; decoding=&quot;async&quot; height=&quot;350&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 250px) 250px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/hJwLpLeJNfG6kVBUK9Yn.png?auto=format&amp;w=500 500w&quot; width=&quot;250&quot; /&gt;
        &lt;figcaption&gt;
            Gecko
        &lt;/figcaption&gt;
    &lt;/figure&gt;
    &lt;figure&gt;
        &lt;img alt=&quot;&quot; decoding=&quot;async&quot; height=&quot;350&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 250px) 250px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/vgdbNJBYHma2o62ZqYmcnkq3j0o1/od1YyD2BoBqfrnkzynUK.png?auto=format&amp;w=500 500w&quot; width=&quot;250&quot; /&gt;
        &lt;figcaption&gt;
            WebKit
        &lt;/figcaption&gt;
    &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Check out the &lt;a href=&quot;https://output.jsbin.com/xunosud&quot;&gt;sticky table headers
demo&lt;/a&gt; by Rob Flack.&lt;/p&gt;
&lt;h4 id=&quot;why-it-is-prioritized-3&quot;&gt;Why it is prioritized &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#why-it-is-prioritized-3&quot;&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Surveys: Highly known/used in &lt;a href=&quot;https://2020.stateofcss.com/en-US/features/&quot; rel=&quot;noopener&quot;&gt;State of
CSS&lt;/a&gt; and was brought up
multiple times in
&lt;a href=&quot;https://insights.developer.mozilla.org/reports/mdn-browser-compatibility-report-2020.html&quot; rel=&quot;noopener&quot;&gt;MDN Browser Compatibility Report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tests:
&lt;a href=&quot;https://wpt.fyi/results/css/css-position/sticky?label=master&amp;amp;label=experimental&amp;amp;product=chrome&amp;amp;product=firefox&amp;amp;product=safari&amp;amp;aligned&amp;amp;q=%28status%3A%21missing%26status%3A%21pass%26status%3A%21ok%29&quot; rel=&quot;noopener&quot;&gt;66% pass&lt;/a&gt;
in all browsers&lt;/li&gt;
&lt;li&gt;Usage:
&lt;a href=&quot;https://www.chromestatus.com/metrics/feature/timeline/popularity/3354&quot; rel=&quot;noopener&quot;&gt;8%&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;css-aspect-ratio-property&quot;&gt;CSS aspect-ratio property &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#css-aspect-ratio-property&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The new
&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/aspect-ratio&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;aspect-ratio&lt;/code&gt;&lt;/a&gt;
CSS property makes it easy to maintain a consistent width-to-height ratio for
elements, removing the need for the well-known
&lt;a href=&quot;https://web.dev/aspect-ratio/#the-old-hack-maintaining-aspect-ratio-with-padding-top&quot;&gt;&lt;code&gt;padding-top&lt;/code&gt; hack&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;switcher&quot;&gt;
&lt;figure class=&quot;compare flow&quot; data-type=&quot;worse&quot; data-size=&quot;full&quot;&gt;&lt;p class=&quot;compare__label&quot;&gt;Using padding-top&lt;/p&gt;
&lt;div&gt;&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;.container&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100%&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token property&quot;&gt;padding-top&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 56.25%&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;figure class=&quot;compare flow&quot; data-type=&quot;better&quot; data-size=&quot;full&quot;&gt;&lt;p class=&quot;compare__label&quot;&gt;Using aspect-ratio&lt;/p&gt;
&lt;div&gt;&lt;pre class=&quot;language-css&quot;&gt;&lt;code class=&quot;language-css&quot;&gt;&lt;span class=&quot;token selector&quot;&gt;.container&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token property&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 100%&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;token property&quot;&gt;aspect-ratio&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; 16 / 9&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Because it is such a common use case this is expected to become widely used, and
we want to make sure it&#39;s solid in all common scenarios and across browsers.&lt;/p&gt;
&lt;h4 id=&quot;why-it-is-prioritized-4&quot;&gt;Why it is prioritized &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#why-it-is-prioritized-4&quot;&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Surveys: Already well known but not yet widely used in &lt;a href=&quot;https://2020.stateofcss.com/en-US/features/&quot; rel=&quot;noopener&quot;&gt;State of
CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tests: &lt;a href=&quot;https://wpt.fyi/results/css/css-sizing/aspect-ratio&quot; rel=&quot;noopener&quot;&gt;27% pass&lt;/a&gt;
in all browsers&lt;/li&gt;
&lt;li&gt;Usage:
&lt;a href=&quot;https://www.chromestatus.com/metrics/css/timeline/popularity/657&quot; rel=&quot;noopener&quot;&gt;3%&lt;/a&gt; and
expected to grow&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;css-transforms&quot;&gt;CSS transforms &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#css-transforms&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/docs/Web/CSS/transform&quot; rel=&quot;noopener&quot;&gt;CSS transforms&lt;/a&gt;
have been supported in all browsers for many years and are widely used on the
web. However, there still remain many areas where they don&#39;t work the same
across browsers, notably with animations and 3D transforms. For example, a card
flip effect can be very inconsistent across browsers:&lt;/p&gt;
&lt;figure&gt;
&lt;video autoplay=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot; playsinline=&quot;&quot;&gt;      &lt;source src=&quot;https://storage.googleapis.com/web-dev-uploads/video/vgdbNJBYHma2o62ZqYmcnkq3j0o1/RhyPpk7dUooEobKZ3VOC.mp4&quot; type=&quot;video/mp4&quot; /&gt;    &lt;/video&gt;
  &lt;figcaption&gt;
    Card flip effect in Chromium (left), Gecko (middle) and WebKit (right).
    Demo by David Baron from &lt;a href=&quot;https://bugs.chromium.org/p/chromium/issues/detail?id=1008483#c42&quot;&gt;bug
    comment&lt;/a&gt;.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h4 id=&quot;why-it-is-prioritized-5&quot;&gt;Why it is prioritized &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#why-it-is-prioritized-5&quot;&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Surveys: Very well known and used in &lt;a href=&quot;https://2020.stateofcss.com/en-US/features/&quot; rel=&quot;noopener&quot;&gt;State of
CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tests: &lt;a href=&quot;https://wpt.fyi/results/css/css-transforms&quot; rel=&quot;noopener&quot;&gt;55% pass&lt;/a&gt; in all
browsers&lt;/li&gt;
&lt;li&gt;Usage:
&lt;a href=&quot;https://www.chromestatus.com/metrics/css/timeline/popularity/446&quot; rel=&quot;noopener&quot;&gt;80%&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;contribute&quot;&gt;How you can contribute and follow along &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/compat2021/#contribute&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Follow and share any updates we post on
&lt;a href=&quot;https://twitter.com/ChromiumDev&quot; rel=&quot;noopener&quot;&gt;@ChromiumDev&lt;/a&gt; or the &lt;a href=&quot;https://groups.google.com/g/compat2021&quot; rel=&quot;noopener&quot;&gt;public mailing list,
Compat 2021&lt;/a&gt;. Make sure bugs exist, or
&lt;a href=&quot;https://web.dev/how-to-file-a-good-bug/&quot;&gt;file them&lt;/a&gt; for issues you have been
experiencing, and if there&#39;s anything missing, reach out through the above
channels.&lt;/p&gt;
&lt;p&gt;There will be regular updates about the progress here on web.dev and you can
also follow the progress for each focus area in the &lt;a href=&quot;https://wpt.fyi/compat2021&quot; rel=&quot;noopener&quot;&gt;Compat 2021
Dashboard&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;
&lt;a href=&quot;https://wpt.fyi/compat2021&quot;&gt;
&lt;img alt=&quot;Compat 2021 Dashboard&quot; decoding=&quot;async&quot; height=&quot;942&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/kheDArv5csY6rvQUJDbWRscckLr1/BgX0dnesIhLaFAKyILzk.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
&lt;/a&gt;
&lt;figcaption&gt;The Compat 2021 Dashboard (screenshot taken 16 November, 2021).&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;We hope this concerted effort among browser vendors to improve reliability and
interoperability will help you go build amazing things on the web!&lt;/p&gt;
</content>
    <author>
      <name>Robert Nyman</name>
    </author><author>
      <name>Philip Jägenstedt</name>
    </author>
  </entry>
  
  <entry>
    <title>Introducing Open Web Docs</title>
    <link href="https://web.dev/open-web-docs/"/>
    <updated>2021-01-25T00:00:00Z</updated>
    <id>https://web.dev/open-web-docs/</id>
    <content type="html" mode="escaped">&lt;p&gt;High-quality documentation for web platform technologies is a critically
important component of our shared, open digital infrastructure. Today, I&#39;m
excited to publicly introduce &lt;a href=&quot;https://opencollective.com/open-web-docs&quot; rel=&quot;noopener&quot;&gt;Open Web Docs&lt;/a&gt;, a collective project
between Google, Microsoft, Mozilla, Coil, W3C, Samsung, and Igalia. It is
designed to support a community of technical writers around strategic creation
and long-term maintenance of web platform technology documentation that is open
and inclusive for all.&lt;/p&gt;
&lt;p&gt;This is not a new docs platform: Open Web Docs is instead working closely with
existing platforms, and its current priority is contributions to &lt;a href=&quot;https://developer.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;MDN Web
Docs&lt;/a&gt;. It was created to ensure the long-term health of web platform
documentation on de facto standard resources, independently of any single vendor
or organization. Through full-time staff, community management, and Open Web
Docs&#39; network of partner organizations, it enables these resources to better
maintain and sustain documentation of core web platform technologies. Rather
than create new documentation sites, Open Web Docs is committed to improving
existing platforms through our contributions.&lt;/p&gt;
&lt;p&gt;Head over to &lt;a href=&quot;https://opencollective.com/open-web-docs&quot; rel=&quot;noopener&quot;&gt;Open Web Docs&lt;/a&gt; and the &lt;a href=&quot;https://opencollective.com/open-web-docs/updates/introducing-open-web-docs&quot; rel=&quot;noopener&quot;&gt;launch post and FAQ&lt;/a&gt;
to learn more!&lt;/p&gt;
</content>
    <author>
      <name>Robert Nyman</name>
    </author>
  </entry>
  
  <entry>
    <title>How to file a good browser bug</title>
    <link href="https://web.dev/how-to-file-a-good-bug/"/>
    <updated>2020-06-15T00:00:00Z</updated>
    <id>https://web.dev/how-to-file-a-good-bug/</id>
    <content type="html" mode="escaped">&lt;p&gt;Filing a good bug isn&#39;t hard, but takes a little work. The goal is to make it
easy to find what&#39;s broken, reach the root cause and, most importantly, find a
way to fix it. Bugs that make fast progress tend to be easy to reproduce with a
clear expected behavior.&lt;/p&gt;
&lt;h2 id=&quot;verify-it-is-a-bug&quot;&gt;Verify it is a bug &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#verify-it-is-a-bug&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The first step is to figure out what the &amp;quot;correct&amp;quot; behavior should be.&lt;/p&gt;
&lt;h3 id=&quot;whats-the-correct-behavior&quot;&gt;What&#39;s the correct behavior? &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#whats-the-correct-behavior&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Check the relevant API docs on &lt;a href=&quot;https://developer.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;MDN&lt;/a&gt;, or try to
find related specs. This information can help you decide which API is actually
broken, where it&#39;s broken, and what the expected behavior is.&lt;/p&gt;
&lt;h3 id=&quot;does-it-work-in-a-different-browser&quot;&gt;Does it work in a different browser? &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#does-it-work-in-a-different-browser&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Behavior that differs between browsers is generally prioritized higher as an
interoperability issue, especially when the browser containing the bug is the
odd one out. Try to test on the latest versions of Chrome, Firefox, Safari and
Edge, possibly using a tool like &lt;a href=&quot;https://www.browserstack.com/&quot; rel=&quot;noopener&quot;&gt;BrowserStack&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If possible, check that the page isn&#39;t intentionally behaving differently due to
user agent sniffing. In Chrome DevTools, try &lt;a href=&quot;https://developer.chrome.com/docs/devtools/device-mode/override-user-agent/&quot; rel=&quot;noopener&quot;&gt;setting the &lt;code&gt;User-Agent&lt;/code&gt; string
to another browser&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;did-it-break-in-a-recent-release&quot;&gt;Did it break in a recent release? &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#did-it-break-in-a-recent-release&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Did this work as expected in the past, but broke in a recent browser release?
Such &amp;quot;regressions&amp;quot; can be acted upon much quicker, especially if you supply a
version number where it worked and a version where it failed. Tools like
&lt;a href=&quot;https://www.browserstack.com/&quot; rel=&quot;noopener&quot;&gt;BrowserStack&lt;/a&gt; can make it easy to check old
browser versions and the &lt;a href=&quot;https://www.chromium.org/developers/bisect-builds-py&quot; rel=&quot;noopener&quot;&gt;bisect-builds tool&lt;/a&gt;
(for Chromium) allows searching for the change very efficiently.&lt;/p&gt;
&lt;p&gt;If an issue is a regression and can be reproduced, the root cause can usually be
found and fixed quickly.&lt;/p&gt;
&lt;h3 id=&quot;are-others-seeing-the-same-problem&quot;&gt;Are others seeing the same problem? &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#are-others-seeing-the-same-problem&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;If you&#39;re experiencing problems, there&#39;s a good chance other developers are too.
First, try searching for the bug on &lt;a href=&quot;http://stackoverflow.com/&quot; rel=&quot;noopener&quot;&gt;Stack Overflow&lt;/a&gt;.
This might help you translate an abstract problem into a specific broken API,
and it might help you find a short term workaround until the bug is fixed.&lt;/p&gt;
&lt;h2 id=&quot;has-it-been-reported-before&quot;&gt;Has it been reported before? &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#has-it-been-reported-before&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Once you have an idea of what the bug is, it&#39;s time to check to see if the bug
has already been reported by searching the browser bug database.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chromium-based browsers: &lt;a href=&quot;https://crbug.com/&quot; rel=&quot;noopener&quot;&gt;https://crbug.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Firefox: &lt;a href=&quot;https://bugzilla.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;https://bugzilla.mozilla.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Safari &amp;amp; WebKit-based browsers: &lt;a href=&quot;https://bugs.webkit.org/&quot; rel=&quot;noopener&quot;&gt;https://bugs.webkit.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you find an existing bug that describes the problem, add your support
by starring, favoriting, or commenting on the bug. And, on many sites,
you can add yourself to the CC list and get updates when the bug changes.&lt;/p&gt;
&lt;p&gt;If you decide to comment on the bug, include information about how the bug
affects your website. Avoid adding &amp;quot;+1&amp;quot; style comments, as bug trackers
typically send emails for every comment.&lt;/p&gt;
&lt;h2 id=&quot;report-the-bug&quot;&gt;Report the bug &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#report-the-bug&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If the bug hasn&#39;t been reported before, it&#39;s time to tell the browser vendor
about it.&lt;/p&gt;
&lt;h3 id=&quot;minified-test-case&quot;&gt;Create a minimized test case &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#minified-test-case&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Mozilla has a great article on
&lt;a href=&quot;https://developer.mozilla.org/docs/Mozilla/QA/Reducing_testcases&quot; rel=&quot;noopener&quot;&gt;how to create a minimized test case&lt;/a&gt;. To make a
long story short, while a description of the problem is a great start, nothing
beats providing a linked demo in the bug that shows the
problem. To maximize the chance of fast progress the example should contain
the minimum possible code needed to demonstrate the problem. A minimal code
sample is the number one thing you can do to increase the odds of your
bug getting fixed.&lt;/p&gt;
&lt;p&gt;Here are a few tips for minimizing a test case:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download the web page, add
&lt;a href=&quot;https://developer.mozilla.org/docs/Web/HTML/Element/base&quot; rel=&quot;noopener&quot;&gt;&lt;code&gt;&amp;lt;base href=&amp;quot;https://original.url&amp;quot;&amp;gt;&lt;/code&gt;&lt;/a&gt;
and verify that the bug exists locally. This may require a live HTTPS server if the
URL uses HTTPS.&lt;/li&gt;
&lt;li&gt;Test the local files on the latest builds of as many browsers as you can.&lt;/li&gt;
&lt;li&gt;Try to condense everything into 1 file.&lt;/li&gt;
&lt;li&gt;Remove code (starting with things you know to be unnecessary) until the bug
goes away.&lt;/li&gt;
&lt;li&gt;Use version control so that you can save your work and undo things that go
wrong.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;hosting-a-minified-test-case&quot;&gt;Hosting a minified test case &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#hosting-a-minified-test-case&quot;&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;If you&#39;re looking for a good place to host your minified test case,
there are several good places available:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://glitch.com/&quot; rel=&quot;noopener&quot;&gt;Glitch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jsbin.com/&quot; rel=&quot;noopener&quot;&gt;JSBin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://jsfiddle.net/&quot; rel=&quot;noopener&quot;&gt;JSFiddle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://codepen.io/&quot; rel=&quot;noopener&quot;&gt;CodePen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Be aware that several of those sites display content in an iframe, which
may cause features or bugs to behave differently.&lt;/p&gt;
&lt;h2 id=&quot;filing-your-issue&quot;&gt;Filing your issue &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#filing-your-issue&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Once you&#39;ve got your minimized test case, you&#39;re ready to file that bug.
Head over to the right bug tracking site, and create a new issue.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chromium-based browsers - &lt;a href=&quot;https://crbug.com/new&quot; rel=&quot;noopener&quot;&gt;https://crbug.com/new&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Firefox - &lt;a href=&quot;https://bugzilla.mozilla.org/&quot; rel=&quot;noopener&quot;&gt;https://bugzilla.mozilla.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Safari &amp;amp; WebKit-based browsers - &lt;a href=&quot;https://bugs.webkit.org/&quot; rel=&quot;noopener&quot;&gt;https://bugs.webkit.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;provide-a-clear-description-and-the-steps-required-to-reproduce-the-issue&quot;&gt;Provide a clear description and the steps required to reproduce the issue &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#provide-a-clear-description-and-the-steps-required-to-reproduce-the-issue&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;First, provide a clear description to help engineers quickly understand what
the problem is and help to triage the issue.&lt;/p&gt;
&lt;div&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;When installing a PWA using the `beforeinstallprompt.prompt()`, the&lt;br /&gt;`appinstalled` event fires before the call to `prompt()` resolves.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;Next, provide the detailed steps required to reproduce the issue.
This is where your &lt;a href=&quot;https://web.dev/how-to-file-a-good-bug/#minified-test-case&quot;&gt;minified test case&lt;/a&gt; comes in.&lt;/p&gt;
&lt;div&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;What steps will reproduce the problem?&lt;br /&gt;1. Go to https://basic-pwa.glitch.me/, open DevTools and look at the&lt;br /&gt;   console tab.&lt;br /&gt;2. Click the Install button in the page, you might need to interact with&lt;br /&gt;   the page a bit before it becomes enabled.&lt;br /&gt;3. Click Install on the browser modal install confirmation.&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;And finally, describe the &lt;em&gt;expected&lt;/em&gt;, and &lt;em&gt;actual&lt;/em&gt; result.&lt;/p&gt;
&lt;div&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;What is the expected result? In the console:&lt;br /&gt;0. INSTALL: Available (logged when `beforeinstallprompt` event fired)&lt;br /&gt;1. INSTALL_PROMPT_RESPONSE: {outcome: &quot;accepted&quot;, platform: &quot;web&quot;}&lt;br /&gt;   (logged when beforeinstallprompt.prompt()` resolves)&lt;br /&gt;2. INSTALL: Success (logged when `appinstalled` event fired)&lt;br /&gt;&lt;br /&gt;What is the actual result? In the console:&lt;br /&gt;0. INSTALL: Available (logged when `beforeinstallprompt` event fired)&lt;br /&gt;1. INSTALL: Success (logged when `appinstalled` event fired)&lt;br /&gt;2. INSTALL_PROMPT_RESPONSE: {outcome: &quot;accepted&quot;, platform: &quot;web&quot;}&lt;br /&gt;   (logged when beforeinstallprompt.prompt()` resolves)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;For more information, check out &lt;a href=&quot;https://developer.mozilla.org/docs/Mozilla/QA/Bug_writing_guidelines&quot; rel=&quot;noopener&quot;&gt;Bug report writing guidelines&lt;/a&gt;
on MDN.&lt;/p&gt;
&lt;h4 id=&quot;bonus-add-a-screenshot-or-screencast-of-the-issue&quot;&gt;Bonus: Add a screenshot or screencast of the issue &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#bonus-add-a-screenshot-or-screencast-of-the-issue&quot;&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;Though not required, in some cases, it can be helpful to add a screenshot,
or screencast of the issue. This is especially helpful in cases where bugs
may require some odd steps to reproduce. Being able to see what happens in
a screencast, or on a screenshot can frequently be helpful.&lt;/p&gt;
&lt;h3 id=&quot;include-details-of-the-environment&quot;&gt;Include details of the environment &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#include-details-of-the-environment&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Some bugs are reproducible only on certain operating systems, or only on
specific kinds of displays (for example, low-dpi or high-dpi). Be sure to
include the details of any test environments you used.&lt;/p&gt;
&lt;h3 id=&quot;submit-the-bug&quot;&gt;Submit the bug &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/how-to-file-a-good-bug/#submit-the-bug&quot;&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Finally, submit the bug. Then, remember to keep an eye on your email for any
responses to the bug. Typically during investigation and when fixing the bug,
engineers may have additional questions, or if they have difficulty
reproducing the issue, they may reach out.&lt;/p&gt;
</content>
    <author>
      <name>Robert Nyman</name>
    </author><author>
      <name>Pete LePage</name>
    </author>
  </entry>
</feed>
