The web platform keeps moving, and this week's posts cover some of the sharpest edges: 3D view transitions that silently fail, accessibility attributes that don't work like you'd expect, and the rising legal stakes around compliance in production.
Why Isn't My 3D View Transition Working?
Cross-document view transitions break 3D transforms when you set perspective on a parent element, because view transition pseudo-elements render in their own layer outside the normal DOM flow. The fix is to move perspective into the transform keyframe itself using the perspective() function, or apply it directly to ::view-transition-image-pair(root). This is one of those gotchas that only reveals itself when you ship, and the workaround is simple once you know it exists.
/* Won't work */
.parent {
perspective: 1000px;
}
/* Will work */
@keyframes slide-in {
from {
transform: perspective(1000px) rotateY(-90deg);
}
}headingoffset is Not the Document Outline Algorithm
Firefox's support for headingoffset sparked confusion because people assumed it was reviving the failed Document Outline Algorithm. It's not. The attribute lets you manually offset heading levels for reusable content chunks, but you still have to decide the structure yourself. It also has current browser bugs that make levels below h6 unsafe, and using it to recreate automatic heading management creates WCAG risks. Treat it as a deliberate authoring tool, not a magic fix for semantic laziness.
<!-- headingoffset shifts all descendant headings -->
<section headingoffset="2">
<h1>Actually renders as h3</h1>
<h2>Actually renders as h4</h2>
</section>France's major court decision supporting digital accessibility under the EAA
A French court just ruled that Carrefour's 71% accessibility compliance isn't good enough and ordered 100% RGAA conformance within six months. This isn't an isolated case: multiple disability rights groups in France are filing lawsuits against both private companies and government agencies under the European Accessibility Act. Year two of the EAA is bringing enforcement teeth, and other EU countries are likely watching. If you're shipping in Europe, partial compliance won't hold up in court.
Creating Memorable Web Experiences: A Modern CSS Toolkit
Modern CSS can now handle scroll-driven animations, 3D transforms, view transitions, and accessibility concerns natively without heavy JavaScript. The post walks through techniques like split text animations, clip-path masking, parallax scrolling, and anchor positioning, each with performance and accessibility notes. The author's approach of aligning animation keywords with brand messaging is smart: it keeps motion intentional rather than decorative, and the GPU-optimized patterns avoid the jank that ruins the effect.
/* Scroll-driven animation without JS */
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
.element {
animation: fade-in linear;
animation-timeline: view();
animation-range: entry 0% cover 30%;
}Today's reads share a common thread: the web platform is capable of sophisticated work, but only if you understand where the abstractions break and where the legal expectations land. The technical edge cases and compliance requirements aren't going away, they're just getting sharper.