Slight Improvements to Accessibility & Structured Data

Coding while sick!

Recent supernaut museum photography blogging got me thinking about image metadata (both Exif for camera-applied metadata, and IPTC for image-specific person-added metadata), and how I could set up a workflow to better implement this – particularly IPTC which is something I’d need to add and can partially automate, rather than Exif, which the camera adds – and how to persuade WordPress (or straight PHP / some method of database demonology) to scrape that and output it into Schema structured data.

I started doing heavy Schema work on as a way of making the huge amount of data comprehensible to search engines, and by extension, to humans, and have grown to like it a lot (also microformats, which WordPress uses) for making sense of what is otherwise a string of decontextualised words and media. I’d already schema-fied Dasniya’s blog, so mostly it was copy-pasting, then combining into supernaut’s structure – where the design had taken far too many liberties with accessibility and structured data.

So, now all posts spit out at least minimally useful structured data, and posts with images, galleries, or video spit out additional Schema structured data for those objects. Once I start using IPTC for my images, I’ll look at a way of including that in the Schema as well. (Though combining all that into useful objects from experience with Tiptree can be hilariously obtuse.)

On the accessibility side, I’d realised sometime in the past I’d been seriously shitty in supernaut’s design, basically a fucking horrible website to get around for anyone using keyboard navigation, screen-readers, or other methods non-trackpad + eyeballs. Accessibility is something I’ve been increasingly enjoying coding and designing for, along with structured data, particularly for websites that are highly designed and plain fucking arty – I find it gratifying to make hugely complex sites that remain structurally coherent and accessible no matter what device or method a person uses to access it – because there’s often an inverse relationship between design ‘woo!’ and usability ‘yay!’

So, keyboard navigation now is useable and hopefully much clearer, visual styling of user interaction also. Not as good as it could be, but getting there, and vaguely aiming for all of supernaut to be at least somewhat accessible – including and especially my museum visits.

Musée du Louvre

I went to the Louvre. Two months later, I’m still trying to get out.

It helps me to think of it as several museums, as Museuminsel in Berlin—which owes Musée du Louvre plenty in the spirit of what it wishes to become. You can run through both in a single long day; I’m not sure that’s especially healthy though.

I went to the Louvre, and saw slightly less than two-thirds of it. On any day, various salles in rotation are closed, something to do with lack of staff. So I missed some important northern European art on the second and first floors of the Richelieu and Sully wings; saw entirely nothing of any of the Antiquities Collections on any of the three floors; pretty sure I missed the Arts of Africa, Asia, Oceania, and the Americas, buried as it is down some stairs 500 metres along the Denon wing; also none of the Islamic Arts. And besides the mediæval sculpture—which obviously I saw, why else do I go to museums?—roundly ignored the rest of the sculpture collection (with five exceptions below).

All of which magically consumed 731 clicks of my camera. On a single, well-used battery. (I was turning it off between each shot. Amazement!) And has since magically consumed scores of hours while I edited those images down to something not so ridiculous. Approximately half: 312 images.

I really didn’t know how to deal with Aéroport du Louvre, so I looked for the furthest corner from the chaos under the pyramid and started there: 2nd floor Richelieu wing, old northern European stuff. It just goes on and on and on; it’s fucking massive. Any one of the wings on any one of the floors is bigger than plenty of museums I’ve been in, but the Louvre has to have three wings and three floors. I do a good run in museum endurance and there’s no possible way anyone could have a meaningful experience and see everything even on a Friday with 12 hours up your sleeve. I was slayed by the end, limping and claggy-mouthed, it ruined me for the next couple of days, and two months later I’m still dealing with it.


In vaguely the order I saw everything, and trying to split stuff up into manageable posts, here is Frances visiting Musée du Louvre:

  1. Musée du Louvre, Aile Richelieu 2e étage: Northern European Painting 14th-16th Centuries
  2. Musée du Louvre, Aile Richelieu 2e étage: Northern European Painting 16th-17th Centuries
  3. Musée du Louvre, Aile Sully 2e étage: French Painting 17th-19th Centuries
  4. Musée du Louvre, Aile Denon 1er étage: Italian & French Painting 13th-16th Centuries
  5. Musée du Louvre, Aile Denon 1er étage: Italian & French Painting 16th-19th Centuries
  6. Musée du Louvre, Aile Richelieu Rez-de-Chaussée & Entresol: French & Northern European Sculpture 12th-16th Centuries

Also five sculptures I blogged earlier, plus some Louvre architecture:

  1. Louvre: Diane, dite La Zingarella ou Petite Bohémienne, and Vieux pêcheur, dit Sénèque mourant
  2. Louvre: Maure, dit Le Moro
  3. The Louvre Itself (Bits of it)
  4. Louvre: Narcisse, dit Hermaphrodite Mazarin ou le Génie du repos éternel
  5. Louvre: Hermaphrodite endormi

And a few more images plus blog noise:

  1. Slow Progress through the Louvre
  2. I did not do Le Louvre. Le Louvre did me. 9 hours,…
  3. I’m in Paris (4)
  4. I’m in Paris (3)
  5. I’m in Paris (2)



I spent Sunday half immersed in Humans, and the Swedish original, Äkta människor, and half in code, following a passing musing to its conclusion. The former were and are quite brilliant; the latter was and is fiddly and peculiar, like all intersections of code and design. The latter began with me wondering exactly how difficult it might be to implement image overlays for supernaut without recourse to a plugin. This led to much reading and research, and deciding on Lightbox2 (instead of a plethora of others), taking half an hour to set up, and a few hours to get all nice looking (and nice-playing with caching). Of course it probably breaks all over the place, but the idea was to have the images fill as much of the browser as possible, with as little clutter as possible, and generally this seems to have happened.