Tuesday, April 16th, 2019
Saturday, April 13th, 2019
Charlie muses on ol’ fashioned web rings …and the cultural needs they fulfilled.
We suffer from homogenous dirge in most of our contemporary web presences. Having a personal website has become a rarer and rarer thing in this time of social media profile pages.
However, recent months have seen a surge in personal websites and blogging amongst some members of the web tech community. This is something that we urgently need to encourage!
Tuesday, April 2nd, 2019
Monday, February 25th, 2019
Accessibility on The Session
These forms have been enhanced with some Ajax to add some motion design: instead of refreshing the whole page, the next form is grabbed from the server while the previous one swooshes off the screen.
You can see similar functionality—without the animation—wherever there’s pagination on the site.
The pagination is using Ajax to enhance regular prev/next links—here’s the code.
The multi-step forms are using Ajax to enhance regular form submissions—here’s the code for that.
Both of those are using a wrapper I wrote for XMLHttpRequest.
That wrapper also adds some ARIA attributes. The region of the page that will be updated gets an
aria-live value of
polite. Then, whenever new content is being injected, the same region gets an
aria-busy value of
true. Once the update is done, the
aria-busy value gets changed back to
That all seems to work fine, but I was also giving the same region of the page an
aria-atomic value of
true. My thinking was that, because the whole region was going to be updated with new content from the server, it was safe to treat it as one self-contained unit. But it looks like this is what was causing the problem, especially when I was also adding and removing
class values on the region in order to trigger animations. VoiceOver seemed to be getting a bit confused and overly verbose.
I’ve removed the
aria-atomic attribute now. True to its name, I’m guessing it’s better suited to small areas of a document rather than big chunks. (If anyone has a good primer on when to use and when to avoid
aria-atomic, I’m all ears).
I was glad I was able to find a fix—hopefully one that doesn’t negatively impact the experience in other screen readers. As is so often the case, the issue was with me trying to be too clever with ARIA, and the solution was to ease up on adding so many ARIA attributes.
For me, all of this really highlights the beauty of the web, when everyone is able to contribute to a community like The Session, regardless of what kind of software they may be using. In the tunes section, that’s really helped by the use of ABC notation, as I wrote five years ago:
One of those screen-reader users got in touch with me shortly after joining to ask me to explain what ABC was all about. I pointed them at some explanatory links. Once the format “clicked” with them, they got quite enthused. They pointed out that if the sheet music were only available as an image, it would mean very little to them. But by providing the ABC notation alongside the sheet music, they could read the music note-for-note.
That’s when it struck me that ABC notation is effectively alt text for sheet music!
Then, for those of use who can read sheet music, the text of the ABC notation is automatically turned into an SVG image using the brilliant abcjs. It’s like an enhancement that’s applied, I dunno, what’s the word …progressively.
Monday, October 8th, 2018
Maintaining an open source project is a rollercoaster ride with high peaks and very low troughs.
Release frequency is down. Questions increasingly go unanswered. Issues remain in a triage, unresolved state. Uncertainty and frustration brew within the community room.
Brian’s experience with Pattern Lab very much mirrors Mark’s experience with Fractal. The pressure. The stress. But there’s also the community.
A maintainer must keep the needs of their project, their community, and their own needs in constant harmony.
This is hard!
Sunday, September 16th, 2018
Fuck yeah, libraries!
Even more radically, your time at the library comes with absolutely no expectation that you buy anything. Or even that you transact at all. And there’s certainly no implication that your data or your rights are being surrendered in return for the services you partake in.
This rare openness and neutrality imbues libraries with a distinct sense of community, of us, of everyone having come together to fund and build and participate in this collective sharing of knowledge and space. All of that seems exceedingly rare in this increasingly commercial, exposed world of ours. In a way it’s quite amazing that the concept continues to persist at all.
And when we look at it this way, as a startlingly, almost defiantly civilized institution, it seems even more urgent that we make sure it not only continues to survive, but that it should also thrive, too.
Sunday, June 24th, 2018
A really excellent piece from Derek on the history of community management online.
You have to decide what your platform is for and what it’s not for. And, yeah, that means deciding who it’s for and who it’s not for (hint: it’s not bots, nor nazis). That’s not a job you can outsource. The tech won’t do it for you. Not just because it’s your job, but because outsourcing it won’t work. It never does.
Tuesday, May 29th, 2018
The transcript of a talk that is fantastic in every sense.
Fans are organised, motivated, creative, technical, and frankly flat-out awe-inspiring.
Friday, March 30th, 2018
A directory of the regular science, technology, and creative events happening in Brighton.
Tuesday, January 2nd, 2018
The field of front-end has yet to be defined, because our industry moves too quickly and the range of skills required seems to grow with every passing day. We need to realise that it is impossible to be an expert in every one of those skills, and that’s perfectly fine.
Saturday, November 11th, 2017
I spoke my brains on the Venturi’s Voice podcast. It’s a random walk through topics like sharing, writing, publishing, and bizzzzznis.
Tuesday, October 31st, 2017
Girls on Neopets took what they needed from the site and used the skills acquired there to further develop a burgeoning digital girls’ culture, whether it be in expanding their guild pages into personal sites, teaching others to code, or exchanging those skills for economic gain in Neopets.
I have anecdotal evidence from a few people that Neopets was their introduction to web design and development.
Tuesday, October 3rd, 2017
Newsvine has closed. Mike reflects on what he built, with a particular eye to the current online news situation.
When we look at how the average person’s news and media diet has changed over the last decade or so, we can trace it directly back to the way these and other modern organizations have begun feeding us our news. Up until 10 or 15 years ago, we essentially drank a protein shake full of news. A good amount of fruits and vegetables, some grains, some dairy, some tofu, and then a little bit of sugar, all blended together. Maybe it wasn’t the tastiest thing in the world but it kept us healthy and reasonably informed. Then, with cable news we created a fruit-only shake for half the population and a vegetable-only shake for the other half. Then with internet news, we deconstructed the shake entirely and let you pick your ingredients, often to your own detriment. And finally, with peer-reinforced, social news networks, we’ve given you the illusion of a balanced diet, but it’s often packed with sugar, carcinogens, and other harmful substances without you ever knowing. And it all tastes great!
There’s also this interesting litmus test for budding entrepreneurs:
We didn’t know for sure if it was going to work, but the day we decided we’d be happy to have tried it even if it failed was the day we ended up quitting our jobs (incidentally, if you are thinking about leaving your job for a new risky thing, this is the acid test I recommend).
Thursday, September 21st, 2017
I had the great pleasure of finally meeting Hui Jing when Mozilla invited me along to Singapore to speak at their developer roadshow. Hui Jing is speaking at each one of the events on the roadshow, and documenting the journey here.
She’s being very modest about her talk: it was superb! Entertaining and informative in equal measure, delivered with gusto. Seriously, frontend conference organisers, try to get Hui Jing to speak about CSS at your event—you won’t regret it.
Monday, September 11th, 2017
Thursday, September 7th, 2017
We’re getting rid of advertisers and digging back to our roots: community-based, community-built, and determinedly non-commercial.
A List Apart has given me so, so much over the years that becoming a supporter is quite literally the least I can do.
Tuesday, July 18th, 2017
Alex Kearney looks back on two years of owning her own data.
With a fully functional site up and running, I focused on my own needs and developed features to support how I wanted to use my site. In hind-sight, that’s probably the most indie thing I could’ve done, and how I should’ve started my indieweb adventure.
This really resonates with me.
One of the motivating features for joining the indieweb was the ability to keep and curate the content I create over time.
Here’s to two more years.
Tuesday, July 11th, 2017
You can help support the indie web community with their fairly modest costs: about $200 each month for hosting, domain names, and the like. Also:
We want IndieWeb events to be as accessible as possible, regardless of personal barriers. Because of this, we have offered a travel scholarship fund in the past to underrepresented groups thanks to our generous sponsors. Your support will allow us to continue to offer and expand this scholarship fund, helping make sure that IndieWebCamps represent everyone.
Tuesday, March 28th, 2017
Building and maintaining an open-source project is hard work. That observation is about as insightful as noting the religious affiliation of the pope or the scatological habits of woodland bears.
Nolan Lawson wrote a lengthy post describing what it feels like to be an open-source maintainer.
Outside your door stands a line of a few hundred people. They are patiently waiting for you to answer their questions, complaints, pull requests, and feature requests.
You want to help all of them, but for now you’re putting it off. Maybe you had a hard day at work, or you’re tired, or you’re just trying to enjoy a weekend with your family and friends.
But if you go to github.com/notifications, there’s a constant reminder of how many people are waiting
Most of the comments on the post are from people saying “Yup, I hear ya!”
Jan wrote a follow-up post called Sustainable Open Source: The Maintainers Perspective or: How I Learned to Stop Caring and Love Open Source:
Just because there are people with problems in front of your door, that doesn’t mean they are your problems. You can choose to make them yours, but you want to be very careful about what to care about.
A collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project.
Fractal isn’t really a Clearleft project, at least not in the same way that something like Silverback or UX London is. We’re sponsoring Fractal as much as we can, but an open-source project doesn’t really belong to anyone; everyone is free to fork it and take it. But I still want to make sure that Mark and Danielle have time at work to contribute to Fractal. It’s hard to balance that with the bill-paying client work though.
I invited Remy around to chat with them last week. It was really valuable. Mind you, Remy was echoing many of the same observations made in Nolan’s post about how draining this can be.
So nobody here is under any illusions that this open-source lark is to be entered into lightly. It can be a gruelling exercise. But then it can also be very, very rewarding. One kind word from somebody using your software can make your day. I was genuinely pleased as punch when Danish agency Shift sent Mark a gift to thank him for all his hard work on Fractal.
People can be pretty darn great (which I guess is an underlying principle of open source).
Monday, November 14th, 2016
Science Hack Day’s mission is simply to get excited and make things with science, and that’s just what everyone did. One of the remarks I made at the start of this year’s event was about how building community is one of the best things to be involved in right now after the election, and especially connecting different communities together as Science Hack Day does. Exploration is not a solo endeavor and thus it’s less about what you explore and more about the act of exploring. In community exploration, we build strength, support, and safe spaces.