Advertisement · 728 × 90

Posts by Firefox for Web Developers

WAIT, YES! I thought I'd been tripped up by it being a pseudo-element and not a property. @keithamus.social did this get fixed along with position-try?

3 days ago 2 0 1 0

Hah! 31 is a solid score

3 days ago 1 0 0 0

A very respectable score!

3 days ago 1 0 0 0

I tried this. It's hard.

3 days ago 107 23 5 0
Video

hasUAVisualTransition landed in Firefox 149, making it available across all major engines. As well as having a very catchy name, it lets you avoid doubling up on page transitions. Here's how it works:

1 week ago 74 10 6 1

Interesting! In this case, I'm glad the name isn't even longer than it is.

1 week ago 1 0 0 0

In terms of "UA" as an initialism, you might be right, but things like the "User-Agent" header and navigator.userAgent have been around 20+ years.

1 week ago 0 0 1 0
Demo

If you want to experience the gross 3d transition first hand: simple-vt-demos.jakearchibald.com/gross-cube-t...

1 week ago 5 0 1 0
Advertisement
Video

hasUAVisualTransition landed in Firefox 149, making it available across all major engines. As well as having a very catchy name, it lets you avoid doubling up on page transitions. Here's how it works:

1 week ago 74 10 6 1

Yeah, it seems tricky because, if you do a push navigation, escape should still do closewatcher things first. So, it's like a different layer on top of navigation. Also, the polyfill would mess with the back button.

1 week ago 1 0 0 0
Preview
CloseWatcher - Web APIs | MDN The CloseWatcher interface allows a custom UI component with open and close semantics to respond to device-specific close actions in the same way as a built-in component.

And, of course, the full documentation on MDN developer.mozilla.org/en-US/docs/W...

1 week ago 8 1 0 0
Video

The CloseWatcher API landed in Firefox 149, making it easy to listen for platform-specific 'dismiss' signals. Here's how it works:

1 week ago 141 30 8 3

Ooooo, I'm sure we can fix that… Thanks for raising it!

1 week ago 1 0 0 0
popover=hint inconsistent behavior nested vs unnested · Issue #12304 · whatwg/html What is the issue with the HTML Standard? https://random-stuff.jakearchibald.com/popover-hint/ nested-hint.mp4 (includes audio) At the top level, a popover=hint, when opened, will not close a sibli...

In terms of popover=hint, I dug into it when scripting a video, and… I can't make sense of the behaviour at all. Here's my investigation so far if you want to follow along: github.com/whatwg/html/... & github.com/whatwg/html/...

1 week ago 10 1 0 0
Preview
Firefox 149 release notes for developers (Stable) - Mozilla | MDN This article provides information about the changes in Firefox 149 that affect developers. Firefox 149 was released on March 24, 2026.

Firefox 149 is out now, and adds bunch of new web platform features, like

🎉 The CloseWatcher API
🎉 popover=hint (although I'm concerned about the spec'd behaviour)
🎉 hasUAVisualTransition on PopStateEvent
🎉 font-family: math
🎉 The CSP reporting API

And more!

developer.mozilla.org/en-US/docs/M...

1 week ago 68 14 3 2
Preview
Competition, Innovation, and the Future of the Web – Why Independent Browser Engines Matter – Open Policy & Advocacy Gecko matters because it ensures there’s an independent voice shaping how the internet evolves. Without Gecko, the landscape would be dominated by Apple and Google alone. Is that really the ...

There are many browsers, but only three widely-used engines. We maintain one of those engines - Gecko. Here's why we feel that browser engine diversity is essential for the future of the web blog.mozilla.org/netpolicy/20...

1 week ago 48 8 1 1
371323 - Implement the `:nth-col()` and `:nth-last-col()` pseudo class for table cells NEW (nobody) in Core - CSS Parsing and Computation. Last updated 2026-02-13.

Doesn't look like there's much movement bugzilla.mozilla.org/show_bug.cgi...

2 weeks ago 1 0 0 2

hah I genuinely use them. But I also use vertical tabs.

2 weeks ago 0 0 1 0
Advertisement

Very good!

3 weeks ago 1 0 0 0

oh no you used up all your sight!

3 weeks ago 1 0 0 0

wait is that not allowed?

3 weeks ago 5 0 1 0

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

3 weeks ago 8 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)

3 weeks ago 37 6 8 3

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

3 weeks ago 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...

3 weeks ago 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...

4 weeks ago 4 0 0 0
Video

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

4 weeks ago 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

1 month ago 2 1 1 0
Advertisement
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.

1 month ago 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.

1 month ago 3 0 1 0