Reading list

Reading List

Reading List

Reading List

Reading List

Web Components, accessibility and the Priority of Constituencies

Gosh, what a snappy title. I’m not expecting a job offer from Buzzfeed any time soon.

Today, Apple sent their consolidated feedback on Web Components to the webapps Working Group. The TL;DR: they like the concept, are “considering significant implementation effort”, but want lots of changes first including removal of subclassing, eg <button is=”my-button”>.

I think this is bad; this construct means existing HTML elements can be progressively enhanced – in the example above, browsers that don’t support components or don’t support JavaScript get a functional HTML <button> element. It also means that, by enhancing existing HTML elements, your components get the default browser behaviour for free – so, in this example, your snazzy my-button element inherits focussability and activation with return or spacebar withut you having to muck about with tabindex or keyboard listeners. (I wrote about this in more detail last year in On the accessibility of web components. Again.)

Apple raised a bug Remove the support for inherting from builtin subclasses of HTMLElement and SVGElement and notes “without this hack accessibility for trivial components is harder as more things have to be done by hand” (why “this hack”? A loaded term). However, it calls for removal because “Subclassing existing elements is hard as implementation-wise identity is both object-based and name / namespace based.”

Implementation is hard. Too hard for the developers at Apple, it appears. So Web developers must faff around adding ARIA and tabindex and keyboard listeners (so most won’t) and the inevitable consequence of making accessibility hard is that assistive technology users will suffer.

HTML has a series of design principles, co-edited by Maciej Stachowiak who sent Apple’s feedback. One of those is called “Priority of Constituencies” which says

In case of conflict, consider users over authors over implementors over specifiers over theoretical purity. In other words costs or difficulties to the user should be given more weight than costs to authors; which in turn should be given more weight than costs to implementors; which should be given more weight than costs to authors of the spec itself, which should be given more weight than those proposing changes for theoretical reasons alone.

Fine words. What changed?

Some lines about daisies

In many songs and poems
I find I mention daisies.
Blake and Wordsworth and the great English poets
wrote about roses and daffodils,
but you don’t hear much about daisies.
So here goes:

“O wond’rous daisy! How lovely thou art!”

No, that won’t do. Rhetorical bombast
before making it simply a symbol of some portentous theme.
A small flower shouldn’t carry such heaviness.

The name means “day’s eye”;
it opens its petals for the sun, and closes them at night.
I think the daisy is a watcher;
it contemplates, quietly, the day that it sees.
It is a witness.

It looks fragile.
But the daisy is strong.
Its Latin name is Bellis perennis
“Pretty”, “everlasting”.

You can trample a daisy,
but only for a short while.
It’ll grow back,
and open its eye
for the sunshine again.

Written after I edited You tread lightly on the world from its 3 a.m. scrawl, and realised I’ve used daisies in at least 4 poems and 2 songs.

You tread lightly on the world

I woke at 3 a.m. one night last week, and scrambled for my bedside pad in which I jot down song/poem ideas. Rather than do my usual trick of making tiny tweaks then reverting them back and forth for a decade, I’m posting it now. It may get carved up for a song, or may not.

You tread lightly on the world.
You like to. You scorn roots.
One foot in front of the other,
you go now:
tread from ocean to ocean
in Brownian motion,
seeing-not-being,
a ghost in the sunshine.
You photograph children;
You want none — you tread lightly.

You tread lightly on the world.
When the grass you stand on
springs up;
when the gecko you startle
comes back;
when your hollow in the bed
smooths away;
when your footprint in the sand
fills with sea;
when the daisies you flatten
take root again;
who will remember you?

I will.

tread-lightly

(Anna said the last line is superfluous, because the act of writing shows the subject is remembered. I think Anna’s too subtle.)

Reading List

Yosemite, Garageband 10.0.3, Soundfonts

My recent upgrade to Yosemite appeared to go without a hitch, until I fired up Garageband to tidy up the guitar line on my cello and harpsichord-driven song Girl In The Room.

To my dismay, the cello and harpsichord samples had disappeared, to be replaced by a very clunky generic synthesiser sound. After some investigation, it appeared that the new OS (or new Garageband 10.0.3) had nuked the soundfonts I’d put in Library/Audio/Sounds/Banks/. Perhaps I should have known this – but I’m new to Mac, and my experience on Windows is that it doesn’t hose your data when you upgrade. Ah well. Apple knows best, of course.

[Added 16 April. Looks like I’m not the only one.]

But, once I’d got the soundfonts from a backup and restored them to the correct folder, I’ve noticed that Garageband doesn’t see all of them. Other times, it sees a soundfont, lets me associate it with a track and plays it fine. Then I hit play again and the same track I heard seconds before is entirely silent although the dialogue box still claims the soundfont is associated with the track. (and what is a “user define bank”? User-defined, surely?)

Screen Shot of Garageband claiming - falsely- that the track is playing a cello soundfont

This basically means Garageband isn’t usable for me with soundfonts (which was the whole purpose of my buying it; I don’t want to be restricted to the excellent-quality but rather middle-of-the-road default samples).

But I’m a Mac/ GB n00b and am probably missing something obvious. Anyone got any advice?