James Edwards

James Edwards

James Edwards (aka brothercake) is a freelance web-developer based in the UK, specialising in JavaScript application development and building accessible websites. With more than a decade's professional experience, he is a published author, a frequent blogger and speaker, and an outspoken advocate of standards-based development.

audio-descriptions

James Edwards

audio-descriptions
James describes a simple but surprisingly effective technique for synchronising multiple media sources in order to add accessible audio descriptions to an existing video.Read More
 
regular-tricks
James looks at three cunning things you can do with regular expressions, that provide neat solutions to some very sticky problems.Read More
 
dom-children
James Edwards looks at some DOM3 properties that simplify node relationships, by focusing only on element nodes and ignoring other types.Read More
 
 
mutation
James Edwards gets excited about the new MutationObserver API, and talks about how and why it's come to replace Mutation Events.Read More
 
automatic-expressions
James Edwards looks at two JavaScript shorthand expressions that rely on automatic type conversion, and discusses when they are - and are not - a good idea.Read More
 
For the eighth article in this small-and-sweet functions series, I’ll be looking at a function called ancestor(). As the name suggests, this function gets a reference to a given node’s... Read More
 
How do you take a nebulous idea and turn it into a game — to get from technical details, to something interesting and challenging? Well recently, I found myself wondering whether CSS transitions... Read More
 
 
For the seventh article in the small-and-sweet functions series, I’d like you show you a function called abbreviate() — the main purpose of which I’m sure you can guess! It abbreviates... Read More
 
HTML5 introduces a couple of new attributes for implementing browser-based form validation. The pattern attribute is a regular-expression that defines the range of valid inputs for textarea elements... Read More
 
Welcome to another article in the small and sweet functions series, in which I’d like to show you a neat abstraction called domStorage(), that provides a set of convenient functions for... Read More
 
The HTML5 <details> element is a very neat construct, but it also has quite a serious usability problem – what happens if you follow a hash-link which targets inside a collapsed... Read More
 
The fifth article in the small-and-sweet functions series is a follow up to the previous article, which showed you a simple function for creating an ISO datestamp. The previous article noted that... Read More
 
Some of the things being done with JavaScript today are truly amazing. The Internet itself is still young, yet it’s been through several evolutions in its short history – most... Read More
 
The fourth article in the small-and-sweet functions series introduces a function called datestamp(), which uses various JavaScript Date methods to produce a UTC date-string in the ISO 8601 format,... Read More