Other than @devongovett.me 's work on React Spectrum/ARIA are there any other good sources on 'how to make nice full screen UI' for iOS 26? I've found some base-ui PRs but are looking for more examples. I've gotta make a full screen mobile nav full-screen again…
Posts by Phil Wolstenholme
@jensimmons.bsky.social @saron.bsky.social @jondavis.bsky.social Sorry to chase, but any thoughts on what I could try next to help debug/prevent this, other than just remove content-visibility? Would it be worth raising a WebKit bug if I could make a repro? I can't reproduce it on macOS, only iOS
This all looks fantastic!
It seems to be the `content-visibility: auto;` that causes the issue, not the `contain-intrinsic-size`. I imagine there's something else on the page that combines with content-visibility to cause the issue, maybe our sticky header or something z-index or transform related?
I'm thinking maybe something compositing related but I'm a bit out of my depth! If you're based in the UK you can see a live example at shop.coop.co.uk?postcode=M60... – scroll to the bottom of the page then scroll back up to trigger the flicker.
@jensimmons.bsky.social @saron.bsky.social @jondavis.bsky.social – do you know why using this CSS would cause flickering? It's across devices and iOS versions:
```
:where(:root) {
--vpc-loader-height: 23.75rem;
}
content-visibility: auto;
contain-intrinsic-size: auto var(--vpc-loader-height);
```
Team size changes, project work, and winter sickness has meant that we're sometimes running as a pair rather than a small mob/ensemble at work. I've never done much pairing! Are there any particularly good blog posts, talks, or books on doing it well and/or different approaches to try?
https://gist.github.com/philwolstenholme/fff89398fd02f0032859c9a3a60cfc94
Neat little feature on my new personal site: use the `Sec-CH-UA-Mobile` header (or UA sniffing 😔) to know the device type during SSR and show fewer items per page. This saves mobile users from having to scroll past giant stacked lists that would be in a nice grid on desktop:
'Previous' and 'Next' buttons using black masking tape as their background image
Also, black tape pagination buttons, because why not?
A very close up and cropped screenshot of a website card representing the 'unnoq/orpc' Github repo. The card shows a repo description, its number of stars, its language, and a birthday cake emoji next to the next '1 year old this month'
New feature on the redesign of my personal site (wolstenhol.me) – show when its the birthday of a repo I've starred on Github. Happy anniversary for oRPC, @unnoq.com!
I'd almost completely forgotten about a talk I gave in the depths of Covid for DrupalCon EU. I've just found a blog post I wrote (on a Medium account that I'd also forgotten about!) after getting my session feedback back and I'm feeling nostalgic: philwolstenholme.medium.com/my-drupalcon...
Oooh, what would this be?
This post is the culmination of my thinking about (and building) SPA-like apps w minimal JS for the last 2 yrs
The ideas are informed in large part by the @infrequently.org blog posts and talks
Thanks @htmx.bsky.social and @astro.build for building great tools.
www.lorenstew.art/blog/progres...
Bundle size comparison table showing the `lodash` package being removed (saving 151.16KiB) and `es-toolkit` being added at a cost of `3.88KiB`
Lodash with imports from `lodash/package`: 151.16kb
`es-toolkit`: 3.88kb
Tests passing, TS happy, linter happy. There's a bundle size reduction, a speed increase, and we can drop the Lodash ESLint plugin and `@types/lodash` too 🙌
Thanks github.com/toss!
This is a glorious blog post on the history of rendering web pages, how to write a BFF very neatly, returning a representation of UI from a server – and how you might end up inventing React Server Components if you think about these things for long enough:
This is really relevant to me at work at the moment! @tammyeverts.com do you have a link to that Akami study on slowness leading to 28% abandonment, please? I'd like to quote it at work but with a direct link to the source.
Nice article: blog.nelhage.com/post/persona...
Some key points: the person knows what they are doing, the LLM is speeding them up, but when there's a hiccup they can get back on track with their own skills, and the software they are generating is only their responsibility to maintain.
urn:li:fs_relatablePostCommaBeenThere:ACoAABQ11fIBQLGQbB1V1XPBZJsRwfK5r1U2Rzt !
I blogged about what my testing workflow is like now that I'm one of those developer creatures:
cactus-flamingo.ghost.io/a-software-e...
Locked in
RSC
It's December 1st, and you know what that means: For the next 24 days, we'll publish articles about HTML by 24 authors. You can read them on the website or subscribe to the RSS channel.
Enjoy!
htmhell.dev/adventcalend...
Totally, that's why I like the idea, after a salesperson explains how the 'script is async so there's no performance impact' then you can nod and let them put their money where their mouth (as long as the clause explains the testing methodology so it's harder to wiggle out of it later!)
Ahhhh that makes perfect sense! I was thinking of reviewing RUM data rather than synthetic/lab testing! Maybe add that to the post just in case other readers' minds go to the same place I did.
…I think the way to counter that would be to run a 50/50 A/B test to rule out any changes in demographics or any first-party code changes that could have introduced a performance regression
The contract clause idea is interesting. I imagine a vendor or their legal rep. would argue that you couldn't tie the RUM score change to their product directly, because you could have just had an influx of users on lower-end devices around the time of deploying their tool (or some other excuse)…
That CSS generation idea is super nice! Does it render `style` elements with `linear()` easing functions?
Looks good. It'll make these sort of utilities stand out more, if there are specific values you know those are constants unless you configure Tailwind differently, and if there's a <number> type then you know it'll accept any number
What's the performance hit like (if any)? I am very tempted to suggest moving some of our single-component-level tests to use a real browser, possibly in Vitest's browser mode or Storybook's new testing stuff (both use Playwright I think) but always a bit worried about the overhead compared to JSDOM
Oh wow, I've never seen that before (the ARIA snapshot), that looks great!