Watched
https://www.youtube.com/watch?v=eQg6pFg1XM0
I suspect that, as a general rule, open source treats the open web the same way that corporate software companies like Apple or Microsoft treat open source: It’s existence and that there are people to take care of it for you while you do the flashy stuff is taken for granted. As a result of this and many other things we, (at least in the US), have a situation where Facebook and Twitter are treated as the web, and then we’re all subjected to displays of incompetence, stupidity, and grifting that will eventually end up defining any possible laws we end up with when it comes to web things. I’d make grifting a link, but I refuse to link to anything related to Diamond and Silk, or any of the completely willfully ignorant comments by Ben Schapiro on this topic. Plus, there’s just way too much material. Fellow hackers, I think it’s time for our typical hands-off approach to anything but our code to end. We have to get involved, because if we don’t, it’s just going to get stupider as we go along, until the stupid gets boring and/or ineffective and it becomes actual malice, assuming we aren’t already to the malice bit. I’m holding out hope we’re still in the stupid portion though because that means we still have time to get off our asses and get involved.
Listened
My URL Is is a podcast which features a new guest every two weeks to talk about how they got involved with the IndieWeb and what hopes, goals and aspirations they have for the community and for their website. The guests are a combination of those both new to the IndieWeb and those who have helped build it from the beginning. This episode features Greg McVerry who has been using the web as a teaching tool almost since its inception.

There are a couple of things which stood out to me in this episode. First, the discussion about online versus offline identities. The idea that online and offline are somehow separate is an idea that I think is pretty common, and if I understand Greg correctly, he’s basically saying that there really isn’t a difference between online and offline. I have to agree. In my experience, the separation between identities is usually maintained by people who are particularly rude or trollish to other humans, and then when called on it, come back with, “Oh, that’s just online” or “that’s just Twitter”. Still going with my understanding of what Greg is saying in this podcast, I have to agree. There’s no difference between the online and offline you. If you treat people with little respect online, there’s a good chance you’ll treat those same people with little respect offline as well, and I don’t think the arbitrary separation between online and offline should be allowed to remain.

The second thing I found interesting in this episode is that Greg’s son uses a screen reader to read CSS and other code documentation because he’s in the third grade and therefore reading that kind of documentation is still difficult. I think there are a few things to be gleaned from this. First is the reminder that not all people who use screen readers are blind. I’ve always understood this on an intellectual level but I don’t think I’ve ever run into a real-life non-blind human who also uses a screen reader, so I’m somewhat fascinated and I think I want to pick Greg’s son’s brain and/or watch him work with the screen reader so I can learn if there are any differences between how I use it and how he uses it. Also, out of pure curiosity, I’m interested in which screen reader he’s using.

I think it would be interesting to find out whether or not there might be some room for documentation, (for accessibility related topics and otherwise), that is geared toward a younger and possibly less technical audience. I’m aware of efforts which focus on educating high school students, but nothing for younger generations, and at the risk of coming across as one of those “code solves everything” people, I think we need to focus on groups younger than high school students as well. I have no idea how we solve this.

I’m also curious as to whether or not accessibility as a field could glean something from the generational approach Indieweb takes when it comes to onboarding new community members. This isn’t me trying to start an accessibility fight, or even necessarily criticize what’s come before, I’m just thinking out loud. We know that in order for designers and developers to bake accessibility in from the start of a project, they have to be trained at every level on the intricacies. I think it’s obvious that this is not happening, and I’m not sure the lack of knowledge on the part of designers and developers can solely be chalked up to laziness on their part. OK, I suppose that last is maybe slightly controversial. We also know that people who are not traditional designers and developers are building websites, and, barring the tools they use doing everything possible to output accessible markup and generally guide them through creating things which everyone can use, expecting that they are going to be trained on the intracacies of accessibility when designers and developers aren’t is, I would say, quixotic at best. I think Gutenberg, (the new WordPress editor), can play a role in at least this part of the problem, provided it gets its own house in order and is itself able to be used by everyone.

But anyway, back to the generational thing. The idea behind the indieweb generations is this:

Generations in the context of the IndieWeb refer to clusters of potential IndieWeb adopters in a series of waves that are expected to naturally adopt the IndieWeb for themselves and then help inform the next generation. Each generation is expected to lower barriers for adoption successively for the next generation.

(Full discussion of the “Generations” concept here, with links to other resources.) I see a parallel between this and things like the work that Microsoft is doing through its Microsoft Enable group. That’s not an exact match, because I don’t believe you should build webpages with Microsoft Word, for example, but I think it’s a pretty good template for doing things like making it easier for end-users to make things accessible, and I would like to see this mindset ported over to the web. The important part here though is that they’re also focusing on making it easier for people who use assistive technology to use their products, and I think that’s critical to all of this.

What I’m mostly thinking of though is making it easier for designers and developers to make the things they build accessible to everyone. The work Deque Systems began at this year’s WordCamp US is a really good example of this, and I’m excited to see how this plays out. I think the principle of “Manual until it hurts” also finds a home in the accessibility space, and I believe that ideally designers and developers would do all the accessibility things manually by learning HTML, CSS and the like until they completely understand the foundations of the web. I also know however that we aren’t living in an ideal world, and as much as those of us in the accessibility space scream until we’re blue in the face about learning foundational technologies deeply before learning the stuff that sits on top, this doesn’t seem to be scaling very well. I don’t know why that is and I don’t have a solution for the problem, but it seems to be where we are.

Anyway, that’s all the stuff that bounced around my brain while listening to the third episode of “My URL is”. If you’re interested, even mildly, in the idea of an open, independent web, I think you should check out the podcast.

Rian Rietveld @ #WCUS:

Rian is demonstrating Voiceover and ARIA for the WordCamp audience.

She’s giving a very practical example of why semantics matter when it comes to the web.

Aria-live: Tells screen readers what’s changing on a page without refreshing the page.

aria-live allows dynamic changes to be announced by screen readers.

From earlier in the talk: First rule of ARIA: Don’t use ARIA. Use a native HTML 5 element first, then add ARIA *when necessary*.

Make sure when using aria-live that your announcement is not too verbose: For example: announce the number of search results, not every search result.

Overrule a link’s anchor text with aria-label. Beware: aria-label overrules a link’s anchor text completely. For screen reader users it’s as if the link text does not exist.

screen reader text class: Hide something from sighted users while announcing it to screen reader users.

Use screen reader text class with the span element.

Aria-describedby and aria-labeledby: aria-labeledby replaces label text, (see form elements), aria-describedby adds extra information to the label text.

Rian is able to turn VoiceOver on and off. This would never happen using Jaws. You can do it with NVDA though. Sorry, couldn’t resist.

Make it work before you make it nice.

Slides for this talk, code with examples is here, and you can watch “Who’s Afraid of ARIA” with captions here.

Miriam Schwab @ #WCUS:

Why is cryptomining from websites bad? Because it eats resources, plus governments shouldn’t be cryptomining.

Magic Cart: Going on for last three years, no one knows origination, attack ID’s third-party scripts on websites and then hacks scripts.

Magic Cart hacks scripts for the purpose of skimming credit card information.

Content security policies: white-list sources via browser header, if a source is not white-listed, it can’t be installed. Applies to trackers and other third-party web scripts like Google Analytics or Google Fonts.

Demonstrating code snippets which implement content security policies, will share slides later.

Includes log of violations of content security policies. I’m going to love looking at this code.

If you research content security policies online, not a lot of upp-to-date information, CSPs have been around since 2012.

W3C’s docs critiqued as being illegible, especially for those who speak English as a second language. Agree. Internationalization FTW!

Google is “do-as-we-say-not-as-we-do” with regard to its CSP docs V. what it does with its Google Analytics and other scripts.

Keeping up with what’s been added to pages manually is hard. Use Scrict Dynamic CSP instead. One policy across multiple pages.

Google has tools for CSPs: Strict Dynamic Test Bed, not sure of accessibility of tool will need to check later.

CSP can be added using meta tag or in theme’s functions.php file. Also .htaccess. Use these if you don’t want to work with browser headers. Probably can stick this in custom functionality plugin too.

CSP Mitigator from Google: Check http response headers, if no CSP present, will alert. If CSP present but there are problems with it, tool will offer suggestions.

There are also WordPress plugins for this, not recommended because some are out-f-date, but easy way to get started.

report-uri.com: Alternative to CSP Mitigater, useful if you have issues philosophical with Google.

Google’s resources making it possible for more people to implement CSPs.

Now demoing offline copy of White House website: No CSP, which means things can be injected client-side.

For the blind people playing at home, the injection to the Freedom scientific website changing the site tagline to “Too expensive products for the visually impaired” was a result of no content security policy being present on the site. Not from speaker, my own injection of another example.

Read Prototypes and production

Don’t build prototypes with a production mindset. Don’t release prototype code into production.

I don’t think I’m too far off base to suggest that so many of the problems we face on the web could be avoided if the prototype mindset discussed in this article were limited to the prototype phase by developers and designers, and kept completely separate from the production process.
Watched
This Is For Everyone is a talk I will definitely be revisiting, along with all the other talks given so far as part of this year’s Inclusive Design 24, because it’s jam-packed with information, including some very useful statistics. It’s a really good overview of accessibility at a high level, and is a great way to kick off a conference whose talks go into quite a bit of detail about how to make the web more accessible, complete with examples. Hint Indieweb folks, given your love of POSH, (plain old semantic HTML for the rest), you’re already on the right track to an accessible web, because semantic HTML is the foundation of everything accessible.