
4,266 articles on Engineering.



GOV.UK dropped their jQuery dependency from their front end. You'll never guess what happened. (Yes, you will.)

Learn how and why websites are hacked.

This guide explains how to deal with a site that has been hacked with malware.

By using the correct elements for headings and landmarks, you can dramatically improve the navigation experience for users of assistive technology.

Hiding content from assistive technology

Understand how to serve the best quality images as efficiently as possible.

Steps to follow if you think that your site may be hacked.

Learn more about who is involved in the Web Payments ecosystem, how they interact with each other, and how you can participate.

Learn how the Payment Request API works at a high level.

Learn what Baseline targets are, how to choose one, and how it can help your development experience.


A peek into the process and tools used to build the holiday-calendar-style experience of Designcember.


How to search for vulnerabilities on your site.

This post covers the loading attribute and how to use it to control the loading of iframes.

Comments from survey respondents about various image optimization techniques.

Check out the state of image tooling.

A guide to the basics of IndexedDB.

Learn best practices for syncing application state between IndexedDB and popular state management libraries.

This post introduces the Interaction to Next Paint (INP) metric and explains how it works, how to measure it, and offers suggestions on how to improve it.

Progressive Web App installability criteria.

Intersection Observer v2 can detect if an element was visible at the time of intersection.

The `fetch()` API is landing in the window object and can replace XHRs.

This post explains lazy loading and the options available to you to lazy loading video.

A summary of the major news and updates that were announced during our 3-day online community event, and a reminder about upcoming regional events.

New logical property shorthands and new inset properties for Chromium.

What it takes to change icons, shortcuts, colors, and other metadata in your web app manifest for your PWA.

Many of today's most popular apps let you apply filters and effects to images or video. This article shows how to implement these features on the open web.

You've looked through your field data, and it turns out that you have some slow interactions. The next step is to learn more about how to manually test those interactions, and identify the causes behind them.

Maskable icons are a format that give you more control and let your Progressive Web App use adaptive icons. A maskable icon can look great on all Android devices.

How to track offline usage of your site so that you can make a case as to why your site needs a better offline experience.

Working with media often requires changing the characteristics of media files. On this page, you'll learn about the tools used and how to install them quickly.

Most browsers can get access to the user's camera.

Commands needed to convert a raw mov file to media assets packaged for DASH or HLS.

Enabling HTTPS on your servers is critical to securing your webpages.

You might think that you can take a video from a camera and upload it to the web as is. Preparing a video for serving from your own site is a bit more complicated.

Create the best mobile media experience on the Web by following these best practises.

Find out how this new syntax can streamline media queries.

Most browsers can get access to the user's microphone.

Most browsers can get access to the user's camera.

Web developers can customize media notifications and respond to media related events such as seeking or track changing with the Media Session API.

Media streaming is the method for continuously delivering multimedia content from a server where the content has been split into individual chunks of data that can be joined back together during playback in a specific order through a range request using protocols such as DASH and HLS.

Strategies to migrate your site from relying on the user-agent string to User-Agent Client Hints.





Build custom elements that work like built-in form controls.

A demo using the Web Audio API.


The role of semantics in page navigation

This blog post announces a new collection of patterns for media apps.

A new, six part Progressive Web App training is now available, complete with a new series of codelabs to teach you how to build reliable, installable, and capable PWAs.


Some common recipes to make your app work offline.

Learn how to create a simple offline experience for your app.

Cumulative Layout Shift (CLS) is a metric that quantifies how often users experience sudden shifts in page content. In this guide, we'll cover optimizing common causes of CLS such as images and iframes without dimensions or dynamic content.

Learn how to optimize your website's Interaction to Next Paint.