Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ html {
}

body {
background: #ffe;
background: #ffffee;
margin: 0;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,15 +68,15 @@ In terms of statistics, the World Health Organization estimates that "285 millio

### People with hearing impairments

[Deaf and hard-of-hearing (DHH)](https://www.nad.org/resources/american-sign-language/community-and-culture-frequently-asked-questions/) people have various levels of hearing loss ranging from mild to profound. Although some do use AT (see [Assistive Devices for People with Hearing, Voice, Speech, or Language Disorders](https://www.nidcd.nih.gov/health/assistive-devices-people-hearing-voice-speech-or-language-disorders)), they are not widespread.
[Deaf and hard-of-hearing (DHH)](https://www.who.int/news-room/fact-sheets/detail/deafness-and-hearing-loss) people have various levels of hearing loss ranging from mild to profound. Although some do use AT (see [Assistive Devices for People with Hearing, Voice, Speech, or Language Disorders](https://www.nidcd.nih.gov/health/assistive-devices-people-hearing-voice-speech-or-language-disorders)), they are not widespread.

To provide access, textual alternatives must be provided. Videos should be manually captioned, and transcripts should be provided for audio content. Furthermore, due to high levels of [language deprivation](https://stoneharborstaffing.com/blog/language-deprivation#:~:text=Language%20deprivation%20is%20the%20term,therefore%20not%20exposed%20to%20language.) in DHH populations, [text simplification should be considered](https://circlcenter.org/collaborative-research-automatic-text-simplification-and-reading-assistance-to-support-self-directed-learning-by-deaf-and-hard-of-hearing-computing-workers/).

Deaf and hard-of-hearing people also represent a significant userbase — "466 million people worldwide have disabling hearing loss", says the World Health Organization's [Deafness and hearing loss](https://www.who.int/en/news-room/fact-sheets/detail/deafness-and-hearing-loss) fact sheet.

### People with mobility impairments

These people have disabilities concerning movement, which might involve purely physical issues (such as loss of limb or paralysis), or neurological/genetic disorders that lead to weakness or loss of control in limbs. Some people might have difficulty making the exact hand movements required to use a mouse, while others might be more severely affected, perhaps being significantly paralyzed to the point where they need to use a [head pointer](https://www.performancehealth.com/adjustable-headpointer) to interact with computers.
These people have disabilities concerning movement, which might involve purely physical issues (such as loss of limb or paralysis), or neurological/genetic disorders that lead to weakness or loss of control in limbs. Some people might have difficulty making the exact hand movements required to use a mouse, while others might be more severely affected, perhaps being significantly paralyzed to the point where they need to use a [head pointer](https://support.performancehealth.com/support/solutions/articles/69000742400-adjustable-head-pointer) to interact with computers.

This kind of disability can also be a result of old age, rather than any specific trauma or condition, and it could also result from hardware limitations — some users might not have a mouse.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ body {
float: left;
margin-left: 2.08333333%;
width: 6.25%;
background: rgb(255, 150, 150);
background: rgb(255 150 150);
}

/* Two column widths (12.5%) plus one gutter width (2.08333333%) */
Expand Down Expand Up @@ -514,7 +514,7 @@ body {
float: left;
margin-left: 2.08333333%;
width: 6.25%;
background: rgb(255, 150, 150);
background: rgb(255 150 150);
}

.col.span2 {
Expand Down Expand Up @@ -658,7 +658,7 @@ body {
float: left;
margin-left: 2.08333333%;
width: 6.25%;
background: rgb(255, 150, 150);
background: rgb(255 150 150);
}

/* Two column widths (12.5%) plus one gutter width (2.08333333%) */
Expand Down Expand Up @@ -797,7 +797,7 @@ body {
margin-bottom: 1em;
width: 6.25%;
flex: 1 1 auto;
background: rgb(255, 150, 150);
background: rgb(255 150 150);
}

.col.span2 {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ Let's explore how to use multiple-column layout — often referred to as _multic
max-width: 900px;
margin: 2em auto;
font:
0.9em/1.2 Arial,
Helvetica,
0.9em/1.2 "Arial",
"Helvetica",
sans-serif;
}
</style>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ body {
p {
padding: 10px;
color: white;
background: rgba(0, 0, 0, 0.3);
background: rgb(0 0 0 / 0.3);
}

section {
Expand All @@ -458,8 +458,8 @@ section {
article {
flex: 1;
height: 300px;
background-color: rgba(0, 0, 0, 0.5);
background-image: url(https://mdn.github.io/shared-assets/images/examples/grapefruit-slice.jpg);
background-color: rgb(0 0 0 / 0.5);
background-image: url("https://mdn.github.io/shared-assets/images/examples/grapefruit-slice.jpg");
background-size: 400px 400px;
background-repeat: no-repeat;
background-position: top center;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -656,7 +656,7 @@ Before starting, it's important to remember **JavaScript in the browser is an un
- The script did not load: This is one of the most common cases, especially in the mobile world where the network is not very reliable.
- The script is buggy: You should always consider this possibility.
- The script conflicts with a third-party script: This can happen with tracking scripts or any bookmarklets the user uses.
- The script conflicts with, or is affected by, a browser extension (such as Firefox's [NoScript](https://addons.mozilla.org/fr/firefox/addon/noscript/) extension or Chrome's [ScriptBlock](https://chromewebstore.google.com/detail/scriptblock/hcdjknjpbnhdoabbngpmfekaecnpajba) extension).
- The script conflicts with or is affected by a browser extension such as Firefox's [NoScript](https://addons.mozilla.org/en-US/firefox/addon/noscript/) extension.
- The user is using a legacy browser, and one of the features you require is not supported: This will happen frequently when you make use of cutting-edge APIs.
- The user is interacting with the content before the JavaScript has been fully downloaded, parsed, and executed.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ Track the progress of a complete project from start to finish — try it with yo
## See also

- [What is a Tech Stack and How Do They Work?](https://www.mongodb.com/resources/basics/technology-stack), mongodb.com
- [Website development team structure: roles and processes](https://www.truemark.dev/blog/web-development-team-structure-role-process/), truemark.dev (2017)
- [Agile vs. Waterfall](https://www.productplan.com/learn/agile-vs-waterfall), ProductPlan
- [What is Scrum?](https://www.scrum.org/learning-series/what-is-scrum/), scrum.org

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,10 +214,6 @@ The recording steps using this tool are pretty simple:
6. Press the _Stop_ button.
7. Choose _File_ > _Export As..._ > _1080p_ from the main menu to save as hi definition.

### Other resources

- [How to Add Custom Callouts to Screencast Videos in ScreenFlow](https://photography.tutsplus.com/tutorials/how-to-add-custom-callouts-to-screencast-videos-in-screenflow--cms-27122)

### Workflow for creating videos

The following sections describe the general steps you'd want to follow to create a video and add it to an MDN Web Docs article.
Expand Down
45 changes: 45 additions & 0 deletions files/en-us/mozilla/firefox/experimental_features/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -852,6 +852,35 @@ Notifications have the [`requireInteraction`](/en-US/docs/Web/API/Notification/r
- `dom.webnotifications.requireinteraction.enabled`
- : Set to `true` to enable.

### `navigate` option for notifications

The `navigate` option of the {{domxref("Notification.Notification", "Notification()")}} constructor and {{domxref("ServiceWorkerRegistration.showNotification()")}} takes a URL to open when the user clicks the notification, so you no longer need a click handler just to open a page. The new read-only {{domxref("Notification.navigate")}} property returns that URL. When the option is set, the {{domxref("Notification.click_event", "click")}} and {{domxref("ServiceWorkerGlobalScope.notificationclick_event", "notificationclick")}} events no longer fire for that notification. Each entry in the {{domxref("Notification.actions", "actions")}} option can set its own `navigate` URL, and an action button without one still fires `notificationclick` rather than using the notification's URL.
([Firefox bug 2066184](https://bugzil.la/2066184)).

| Release channel | Version added | Enabled by default? |
| ----------------- | ------------- | ------------------- |
| Nightly | 157 | No |
| Developer Edition | 157 | No |
| Beta | 157 | No |
| Release | 157 | No |

- `dom.webnotifications.navigate.enabled`
- : Set to `true` to enable.

### Sanitizing HTML while parsing

Methods that sanitize HTML with the [HTML Sanitizer API](/en-US/docs/Web/API/HTML_Sanitizer_API), such as {{domxref("Element.setHTML()")}}, now drop unwanted elements and attributes as the markup is parsed, instead of parsing all of it first and then cleaning up afterwards. The result is the same, except that neighboring text now lands in a single text node instead of being split across several. ([Firefox bug 2062652](https://bugzil.la/2062652)).

| Release channel | Version added | Enabled by default? |
| ----------------- | ------------- | ------------------- |
| Nightly | 157 | No |
| Developer Edition | 157 | No |
| Beta | 157 | No |
| Release | 157 | No |

- `dom.security.sanitizer.while-parsing`
- : Set to `true` to enable.

### Container Timing API

The Container Timing API reports when the contents of a container element are painted, letting you measure the render time of a region of the page rather than of the whole viewport.
Expand All @@ -867,6 +896,22 @@ The Container Timing API reports when the contents of a container element are pa
- `dom.enable_container_timing`
- : Set to `true` to enable.

### Key encapsulation in Web Crypto

The [Web Crypto API](/en-US/docs/Web/API/Web_Crypto_API) supports ML-KEM, an algorithm that lets two parties agree on a shared secret key, and that is designed to stay secure against attacks by quantum computers. One party passes the other party's public key to the {{domxref("SubtleCrypto")}} methods `encapsulateKey()` or `encapsulateBits()`, which return the shared key along with a ciphertext to send to the other party. The other party passes that ciphertext and their own private key to `decapsulateKey()` or `decapsulateBits()` to arrive at the same shared key.

The `ML-KEM-512`, `ML-KEM-768`, and `ML-KEM-1024` algorithm names are supported, along with the matching {{domxref("CryptoKey.usages", "key usages")}} and the new `raw-public` and `raw-seed` key formats for {{domxref("SubtleCrypto.importKey()")}} and {{domxref("SubtleCrypto.exportKey()")}}. ([Firefox bug 1943614](https://bugzil.la/1943614)).

| Release channel | Version added | Enabled by default? |
| ----------------- | ------------- | ------------------- |
| Nightly | 157 | Yes |
| Developer Edition | 157 | No |
| Beta | 157 | No |
| Release | 157 | No |

- `dom.webcrypto.encapsulation.enabled`
- : Set to `true` to enable.

## Security and privacy

### Insecure page labeling
Expand Down
6 changes: 3 additions & 3 deletions files/en-us/mozilla/firefox/releases/156/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Firefox 156 release notes for developers (Stable)
short-title: Firefox 156 (Stable)
title: Firefox 156 release notes for developers
short-title: Firefox 156
slug: Mozilla/Firefox/Releases/156
page-type: firefox-release-notes-active
page-type: firefox-release-notes
sidebar: firefox
---

Expand Down
70 changes: 22 additions & 48 deletions files/en-us/mozilla/firefox/releases/157/index.md
Original file line number Diff line number Diff line change
@@ -1,71 +1,36 @@
---
title: Firefox 157 release notes for developers (Beta)
short-title: Firefox 157 (Beta)
title: Firefox 157 release notes for developers (Stable)
short-title: Firefox 157 (Stable)
slug: Mozilla/Firefox/Releases/157
page-type: firefox-release-notes-active
sidebar: firefox
---

This article provides information about the changes in Firefox 157 that affect developers.
Firefox 157 is the current [Beta version of Firefox](https://www.firefox.com/en-US/channel/desktop/#beta) and ships on [September 29, 2026](https://whattrainisitnow.com/release/?version=157).

> [!NOTE]
> The release notes for this Firefox version are still a work in progress.

<!-- Authors: Please uncomment any headings you are writing notes for -->
Firefox 157 was released on [September 29, 2026](https://whattrainisitnow.com/release/?version=157).

## Changes for web developers

<!-- ### Developer Tools -->

<!-- ### HTML -->

<!-- No notable changes. -->

<!-- #### Removals -->

<!-- ### MathML -->

<!-- #### Removals -->
### HTML

<!-- ### SVG -->

<!-- #### Removals -->
No notable changes.

### CSS

- The [`at-rule()`](/en-US/docs/Web/CSS/Reference/At-rules/@supports#at-rule) function in the {{cssxref("@supports")}} at-rule lets you test whether the browser supports a given CSS at-rule, for example @supports at-rule(@scope). It also works in the [`supports()`](/en-US/docs/Web/CSS/Reference/At-rules/@import#supports-condition) function of {{cssxref("@import")}} CSS at-rule. ([Firefox bug 2060755](https://bugzil.la/2060755)).
- The {{cssxref("overscroll-behavior")}} shorthand property and the {{cssxref("overscroll-behavior-block")}}, {{cssxref("overscroll-behavior-inline")}}, {{cssxref("overscroll-behavior-x")}} and {{cssxref("overscroll-behavior-y")}} longhand properties now support the [`chain`](/en-US/docs/Web/CSS/Reference/Properties/overscroll-behavior#chain) value. The `chain` value allows scrolling to pass to another scrollable area, but does not allow the browser's default overscroll behavior (such as "bounce") when reaching the boundary. ([Firefox bug 2036966](https://bugzil.la/2036966)).

<!-- #### Removals -->

<!-- ### JavaScript -->

<!-- No notable changes. -->

<!-- #### Removals -->

<!-- ### HTTP -->

<!-- #### Removals -->
### JavaScript

<!-- ### Security -->

<!-- #### Removals -->
No notable changes.

### APIs

- The [WebGPU](/en-US/docs/Web/API/WebGPU_API) `TRANSIENT_ATTACHMENT` [texture usage type](/en-US/docs/Web/API/GPUTexture/usage#value) is now supported. This enables creating memory-efficient attachments that are only used within the current render pass. Related render pass operations stay in tile memory, which avoids VRAM traffic and can avoid VRAM allocation for the textures. ([Firefox bug 2005061](https://bugzil.la/2005061)).

<!-- #### DOM -->

<!-- #### Media, WebRTC, and Web Audio -->

<!-- #### Removals -->
#### DOM

<!-- ### WebAssembly -->

<!-- #### Removals -->
- The {{domxref("Animation.reverse()")}} method and the {{domxref("Animation.playbackRate")}} property now match the [Web Animations](/en-US/docs/Web/API/Web_Animations_API) specification in two cases. First, calling `reverse()` on an animation whose `playbackRate` is `0` now plays the animation. This updates its {{domxref("Animation.startTime", "startTime")}} and {{domxref("Animation.currentTime", "currentTime")}} while leaving `playbackRate` at `0`. Previously, the call had no effect. Second, switching `playbackRate` between a positive and a negative value on a [scroll-driven animation](/en-US/docs/Web/CSS/Guides/Scroll-driven_animations) now mirrors the animation's `startTime` to the opposite end of the timeline. As a result, the reversed animation still falls within the scroll range. Previously, `startTime` was left unchanged, which is only correct for time-based timelines such as {{domxref("DocumentTimeline")}}. This adjustment applies when the animation has a `startTime` and a finite duration. ([Firefox bug 2046973](https://bugzil.la/2046973)).

### WebDriver conformance (WebDriver BiDi, Marionette)

Expand All @@ -82,10 +47,6 @@ Firefox 157 is the current [Beta version of Firefox](https://www.firefox.com/en-

## Changes for add-on developers

<!-- ### Removals -->

<!-- ### Other -->

## Experimental web features

These features are shipping in Firefox 157 but are disabled by default.
Expand All @@ -96,3 +57,16 @@ You can find more such features on the [Experimental features](/en-US/docs/Mozil

The [TC39 export `*` default proposal](https://tc39.es/proposal-export-star-default/) makes [`export * from "mod"`](/en-US/docs/Web/JavaScript/Reference/Statements/export#re-exporting__aggregating) also provide the module's default export, which it currently omits.
Note that this preference can only be set in Nightly builds. ([Firefox bug 2065611](https://bugzil.la/2065611)).

- **`navigate` option for notifications**: `dom.webnotifications.navigate.enabled`

The `navigate` option of the {{domxref("Notification.Notification", "Notification()")}} constructor and {{domxref("ServiceWorkerRegistration.showNotification()")}} takes a URL to open when the user clicks the notification, so you no longer need a click handler just to open a page. The new read-only {{domxref("Notification.navigate")}} property returns that URL. When the option is set, the {{domxref("Notification.click_event", "click")}} and {{domxref("ServiceWorkerGlobalScope.notificationclick_event", "notificationclick")}} events no longer fire for that notification. Each entry in the {{domxref("Notification.actions", "actions")}} option can set its own `navigate` URL, and an action button without one still fires `notificationclick` rather than using the notification's URL.
([Firefox bug 2066184](https://bugzil.la/2066184)).

- **Sanitizing HTML while parsing**: `dom.security.sanitizer.while-parsing`

Methods that sanitize HTML with the [HTML Sanitizer API](/en-US/docs/Web/API/HTML_Sanitizer_API), such as {{domxref("Element.setHTML()")}}, now remove unwanted elements and attributes as the markup is parsed, instead of parsing all of the markup first and cleaning up the resulting DOM tree afterwards. The result is the same, except that neighboring text now lands in a single text node instead of being split across several. ([Firefox bug 2062652](https://bugzil.la/2062652)).

- **Key encapsulation in Web Crypto**: `dom.webcrypto.encapsulation.enabled`

The [Web Crypto API](/en-US/docs/Web/API/Web_Crypto_API) supports ML-KEM, an algorithm that lets two parties agree on a shared secret key. It is designed to stay secure against attacks by quantum computers. {{domxref("SubtleCrypto")}} has the new `encapsulateKey()`, `encapsulateBits()`, `decapsulateKey()`, and `decapsulateBits()` methods, with matching {{domxref("CryptoKey.usages", "key usages")}}. The supported algorithm names include `ML-KEM-512`, `ML-KEM-768`, and `ML-KEM-1024`. {{domxref("SubtleCrypto.importKey()")}} and {{domxref("SubtleCrypto.exportKey()")}} also accept the new `raw-public` and `raw-seed` key formats. This feature is enabled by default in Nightly builds. ([Firefox bug 1943614](https://bugzil.la/1943614)).
Loading
Loading