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.
Bookmarked Convert PNG to JPG (PNG to JPG)

Convert your images from PNG to JPG online and for free, applying proper compression methods.

The Problem

By default, WordPress supports png files to its media library. However, some hosts, (including mine), will block some filetypes for security reasons. In my case, one of the off-limits filetypes is png (image) files. You can change this by either employing the appropriate filter through code in either your theme’s functions.php file or a custom functionality plugin, as long as your host is not already using the appropriate filter to block said filetypes. I don’t plan on spending my afternoon trying to guess the priority I need to use to try to get around this. You can allow any filetype to be uploaded through WordPress’s wp-config.php file. If your host is blocking certain filetypes from being uploaded for whatever reason, they will likely not appreciate your using the wp-config constant, because when I say allow all filetypes, I really do mean allow all filetypes, or at least all filetypes supported by your web server software, which is quite an extensive list and really could introduce some security issues due to the way WordPress handles attachments: They’re a post type. Since I find myself in a situation where I need to upload a png file to my site for use as a featured image for a post, I needed a solution that was none of these and that was also accessible to a screen reader user.

The Solution

Dealing with images is difficult when you can’t see them. Converting between image formats without compromising the quality of the original image is also difficult. If you’re sighted, you’d probably open the original file in your favorite image manipulation software, tweek compression rates and other stuff, and then re-save in the format you need. Most image manipulation software is inaccessible however, and so this method is off limits. So, I needed to find a tool I could use.

PNG2JPG meets all my requirements, and it might meet yours as well. It has a very simple interface, including a traditional browse button for uploading files, and it will handle all the background compression for you and return a jpg file which perserves the quality of the image. You can then upload the returned file because it’s likely your host isn’t blocking jpg files since that’s the most common image format and they’d likely lose customers hand over fist, even if they could claim a security reason for blocking that format.

If you find yourself in the same position I did, this tool should hopefully save you a lot of time, at least if you’re converting png files to jpg and you don’t feel like pinging a sighted person who’s good with images and has the right kind of software. Enjoy, and I hope you find it useful.

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.

Researching if I can add blocks in Gutenberg using the non-visual editor by typing block comments. As long as the interface is inaccessible I have no problem hacking around it if possible, I will not be cut off from the future of WordPress, temporarily or otherwise.
Friendly public service announcement: If you store, process or transmit credit card data, you are responsible for ensuring that you are PCI compliant. Use a third-party payment processor and transmit your data securely if you don’t want end-to-end responsibility. Thank you.
I have come to the conclusion that Matt is not going to take accessibility seriously until it affects him personally, and this is incredibly sad. Accessibility should not be the domain of those who are part of the disabled list, or those whose loved ones are part of it.
Maybe privacy and accessibility work would be valued by employers in the WordPress space if @photomatt would do his Goddamn job and advocate for them. Walking is very painful now but I have zero problem inching across that convention center tomorrow to say that to his face. #WCUS
I will respond to Matt’s call to learn blocks deeply when Mat learns accessibility deeply. Accessibility is not a nice-to-have, or an afterthought, or a feature, and I will not promote a thing I know full well not everyone can use, no matter how great the UX is for some. #WCUS

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.

I just realized I can add code snippets to my posts while writing them using the Code Snippets CPt plugin by @Jtsternberg. BTW the code snippet output is way more accessible and easy to read than Github snippets. I love this plugin so much thank you Justin.
You cannot release a product with significant issues and call it a quality product. You cannot ignore a11y because it gets in your way and call yourself an advocate. @photomatt can continue to play this wrong all he likes, but that still doesn’t make it jazz.
Quoted

Following is a transcription of what are apparently official comments from Yoast regarding the slated WordPress 5.0 release on Thursday. I’m providing this transcription for those who are using Twitter clients which do not support alternative text, (essentially the blindness-specific Twitter client), as well as for those on Facebook, Micro.blog and Mastodon. The quote reads:

We vehemently disagree with the decision to release WordPress 5.0 on December 6th, and think it’s irresponsible and disrespectful towards the community. However, we’re now going to try and support the community as well as possible and we hope to show everyone that Gutenberg is indeed a huge step forward.

Yoast is one of the largest plugin developers in the WordPress space, and they’ve made no bones about their support for accessibility. This tweet, for example, carries alternative text, and Yoast has made it a point to ensure that the user interfaces for their Search Engine Optimization plugin are as accessible as possible given the current WordPress interface. Joost’s comment is probably as professional as it’s going to get on this score, and know, I’m not counting the “everything-is-awesome” type comments that will inevitably be shared by Matt from Gutenberg’s cheering section in the score. There’s been a lot of chaos around Gutenberg and accessibility, and it’s heartening to know that so many in the WordPress space, including some rather large plugin and theme shops, are fighting alongside traditional accessibility advocates. All of you have my sincerest thanks.

Read New 5.0 Target Date by an author

Based on the stability, testing, and reports on the release candidates for WordPress 5.0 so far, we are now targeting Thursday December 6th for public release and announcement. 5.0.1 will open for commits soon, and will be an area people can choose to focus on at the contributor day at WordCamp US …

For those of you who are reading this in your inbox, the context for this post is the recently-published, (as in yesterday), target release date for WordPress 5.0, which rolls out the new Gutenberg editor. I’d like to say I’m surprised by this, but I’m just not. I find myself asking a few questions: First, I find it very difficult to believe that a piece of software that is being released with known, significant issues, (up to and including significant accessibility issues, and no, that doesn’t just apply to assistive technology users), can be declared stable enough for release. Accessibility problems, just by themselves, are bugs. Well, they are if you claim to consider accessibility a priority. Next, if the plan was to release the Thursday before WordCamp US, (and I have to concur with those who believe it has been), what was the point of all those one-on-one office hours? How is anyone in the WordPress community supposed to believe that Matt is dealing in good faith when he has apparently convinced himself of the superiority of his own definition of quality and stability, and that his cause is so right and so perfect that it’s worth literally sneaking a major release out the door while everyone is traveling to WordCamp US? I am not opposed to the concept of Gutenberg, and I never have been. I know the current editor is not perfect, and that it can be improved. But this whole thing wreaks of fanaticism, arrogance, dishonesty, a complete disregard for any standard definitions of quality control, (there’s no way, absolutely none, that enough time for actual testing, complete with stress cases, could have been performed between RC 2 and RC 3, and that’s not even counting RC 1), a complete disregard for those of us who work with WordPress users outside of what is apparently a hermetically sealed bubble of perfection in which Matt lives, and the day-to-day experience that has informed our comments since day one, along with a healthy dose of hope as a strategy when it comes to Gutenberg. The question and answer session at this weekend’s State of the Word address is going to get interesting, as is the dev chat this Wednesday.
Read Prototypes and production by an author (adactio.com)

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.
Today has been brought to you by: A raging, all-day headache, making final preparations for Wordcamp US attendance this weekend, and gratitude that I only have one more work task to complete.
No Firefox that’s a bad Firefox! You don’t eat all the RAM! #SuchMonday #SuchCoffee
Listened Are we going to regret this?!!? by The Brad & Matt Limited Edition Totally Unoriginal Random Show Beta 1 by an author from Anchor

We blab on about why we’re doing this new show, comparing our 2018/2019 goals, WTF Gutenberg, and more.

Follow us: @williamsba @mattedeiros

I’m only part of the way through this and I’m already feeling bad because I haven’t sat down and artiulated a bunch of goals for the new year. The only one I have so far is importing my entire Facebook archive into my personal site. I totally feel Brad on the blogging thing though because it’s enjoyable but I think spending all the time on social media kind of drains that. There’s a solution for this though: Indieweb, and blog posts don’t have to be five thousand words long. They can be a single photo or a bookmark or, like this one, a record of listening to a podcast episode. There are already lots of resources for adding various post kinds functionality to WordPress sites, including bookmarklets and apps for your phone. Definitely makes blogging easier.