Firefox for Web Developers's Avatar

Firefox for Web Developers

@webdevs.firefox.com

Official Firefox account for people who build on the web. Learn about the things we're working on to grow and improve the web platform.

2,003
Followers
7
Following
226
Posts
22.11.2024
Joined
Posts Following

Latest posts by Firefox for Web Developers @webdevs.firefox.com

Very good!

10.03.2026 11:41 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

oh no you used up all your sight!

10.03.2026 11:40 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

wait is that not allowed?

10.03.2026 10:14 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

But also, read the article! bsky.app/profile/keit...

10.03.2026 10:03 πŸ‘ 7 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Sorry everyone. You're about to spend a ton of time on this.

My score is 0.0028 πŸ’… (although I get different scores on different screens - my best is on my MacBook)

10.03.2026 10:02 πŸ‘ 25 πŸ” 5 πŸ’¬ 7 πŸ“Œ 2

I'll pass these on to the UX team. Thanks!

09.03.2026 09:44 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Web Translation API Β· Issue #1015 Β· mozilla/standards-positions Request for Mozilla Position on an Emerging Web Specification Specification title: Web Translation API Specification or proposal URL (if available): WICG/proposals#147 Explainer URL (if available):...

We consider the current API to be pretty bad security-wise, and are pushing for something better github.com/mozilla/stan...

08.03.2026 13:14 πŸ‘ 3 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Preview
Iterator.zip() - JavaScript | MDN The Iterator.zip() static method creates a new Iterator object that aggregates elements from multiple iterable objects by yielding arrays containing elements at the same position. It essentially…

For more demos and links to polyfills, head over to MDN developer.mozilla.org/en-US/docs/W...

05.03.2026 14:16 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

JavaScript Iteratorβ€€zip landed in Firefox 148, making it simple to loop over multiple things at the same time. Here's how it works:

05.03.2026 14:16 πŸ‘ 98 πŸ” 18 πŸ’¬ 8 πŸ“Œ 1
Heart CSS shape

It is! Here's the demo random-stuff.jakearchibald.com/heart-css-sh...

It uses linear() - one of the standards I worked on.

I also built a little tool to help generate spring easings linear-easing-generator.netlify.app

03.03.2026 15:33 πŸ‘ 2 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
The UI as before, but with no button to suggest other tabs. The entry point has been removed.

The UI as before, but with no button to suggest other tabs. The entry point has been removed.

If you have blocked AI enhancements, this is the same UI - the entry point to the feature isn't there.

And of course, any already-downloaded models are deleted.

03.03.2026 14:36 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
"Create tab group" UI, including a "Suggest more of my tabs" button featuring an icon typically indicating AI.

"Create tab group" UI, including a "Suggest more of my tabs" button featuring an icon typically indicating AI.

The UI when you click the button. Showing "Nightly uses AI to read your open tabs' titles and descriptions to suggest more tabs and group names. This happens on your device".

There are "cancel" and "continue" buttons, along with a link to customise AI settings.

The UI when you click the button. Showing "Nightly uses AI to read your open tabs' titles and descriptions to suggest more tabs and group names. This happens on your device". There are "cancel" and "continue" buttons, along with a link to customise AI settings.

Taking, for example, the tab grouping and naming feature, if you don't "Block AI enhancements", then you're offered the feature, and if you click the button, the use of AI is explained, and you have to confirm.

If you confirm, then the local privacy-preserving model is downloaded and used.

03.03.2026 14:36 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

AI controls landed in Firefox 148, allowing you to control each feature individually, or block them all, and any future AI features.

Without the block active, AI features are offered, but don't run without confirmation steps.

03.03.2026 14:36 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Depends on the complexity. Those are really heavy dependencies, and in many cases the Web Animation API is good enough.

03.03.2026 10:28 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

With CSS properties + shape(), you can animate the different points independently (as mentioned in the video). Is that possible with SVG along? I know you can animate from one path to another, but can individual points be animated in different ways?

03.03.2026 10:11 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

hah, yeah, I mean shape-outside. CSS shape & SVG path can make the same curves, but it's the interaction with CSS units, functions, and animations (as in the video) where things get interesting.

03.03.2026 09:44 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

In addition to the reasons given in the video, shapes can be used for other CSS features like offset-path and shape-around.

03.03.2026 09:10 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Path to CSS Shape Convert SVG path data to CSS shape() function.

Ohh this SVG path to CSS shape() convertor (by @matthewmorete.com) is better, as it lets you control the viewbox path-to-shape.netlify.app

03.03.2026 08:14 πŸ‘ 6 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Heart CSS shape

Here's the heart demo random-stuff.jakearchibald.com/heart-css-sh...

Note that the :hover applies to a wrapper, otherwise the clipped area is used for hit-testing - an old gotcha reminiscent of the Flash days.

02.03.2026 17:52 πŸ‘ 7 πŸ” 1 πŸ’¬ 2 πŸ“Œ 0

The difference between shape() and polygon() is that shape() can do curves, whereas polygon() can only do straight lines.

02.03.2026 17:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Do you have a demo or something that uses path() and calc()? I'm not aware of how they can be used together. Other things like polygon() can, but I didn't think path() could.

02.03.2026 15:32 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
shape() - CSS | MDN The shape() CSS function is used to define a shape for the clip-path and offset-path properties. It combines an initial starting point with a series of shape commands that define the path of the…

The full docs on MDN developer.mozilla.org/en-US/docs/W...

And a handy tool to convert SVG paths css-generators.com/svg-to-css/

02.03.2026 15:07 πŸ‘ 10 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

CSS shape() landed in Firefox 148. It's similar to path(), but allows the full expressiveness of CSS…

02.03.2026 15:07 πŸ‘ 150 πŸ” 24 πŸ’¬ 8 πŸ“Œ 3

I just did a search on the site in Firefox Nightly. I had to complete three CAPTCHAs, but then it worked.

02.03.2026 08:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Pulled separately from a Firefox CDN, and yes it's checked for updates. Bundling it with the browser definitely wouldn't seem opt-in.

27.02.2026 09:07 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
The UI as before, but with no button to suggest other tabs. The entry point has been removed.

The UI as before, but with no button to suggest other tabs. The entry point has been removed.

If you have blocked AI enhancements, this is the same UI - the entry point to the feature isn't there.

And of course, any already-downloaded models are deleted.

27.02.2026 08:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
"Create tab group" UI, including a "Suggest more of my tabs" button featuring an icon typically indicating AI.

"Create tab group" UI, including a "Suggest more of my tabs" button featuring an icon typically indicating AI.

The UI when you click the button. Showing "Nightly uses AI to read your open tabs' titles and descriptions to suggest more tabs and group names. This happens on your device".

There are "cancel" and "continue" buttons, along with a link to customise AI settings.

The UI when you click the button. Showing "Nightly uses AI to read your open tabs' titles and descriptions to suggest more tabs and group names. This happens on your device". There are "cancel" and "continue" buttons, along with a link to customise AI settings.

Taking, for example, the tab grouping and naming feature, if you don't "Block AI enhancements", then you're offered the feature, and if you click the button, the use of AI is explained, and you have to confirm.

If you confirm, then the local privacy-preserving model is downloaded and used.

27.02.2026 08:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Preview
Making WebAssembly a first-class language on the Web – Mozilla Hacks - the Web developer blog This post is an expanded version of a presentation I gave at the recent WebAssembly CG meeting in Munich. WebAssembly has come a long way since its first release in 2017. The 1.0 version of…

WebAssembly is a second-class language on the web, but how can we make it first-class? WebAssembly Components could be the answer…

hacks.mozilla.org/2026/02/maki...

26.02.2026 16:08 πŸ‘ 60 πŸ” 11 πŸ’¬ 1 πŸ“Œ 2

It feels doable, but I don't think there's one right now that conforms to the modern spec.

25.02.2026 15:01 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
HTML Sanitizer API - Web APIs | MDN The HTML Sanitizer API allows developers to take strings of HTML and filter out unwanted elements, attributes, and other HTML entities when they are inserted into the DOM or a shadow DOM.

Here are the full docs developer.mozilla.org/en-US/docs/W...

25.02.2026 12:09 πŸ‘ 13 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0