Live data from Hacker News

Building the most inaccessible site with a perfect Lighthouse score (2019)

matuzo.at

71–80 of 81 posts

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#71

An Interesting and entertaining article. The most interesting part to me (as someone with vision problems) was the WebAIM link [1]. The biggest problem I have is with the almost total blind adoption of low contrast (so often too low for me to even read) and sure enough the section about low contrast [2] says: "found on 86.3% of home pages. _This was the most commonly-detected accessibility issue_. My basic question t…

From my experience, it is often not an active choice to break the guidelines. It's rather the lack of knowledge/experience or ignorance - or a mix of both ("What is this accessibility thing? Do we need it?").

For contrast ratio specifically, I wished more people would adapt the approach that USWDS uses [1]. It enforces accessible color combinations by using standardized naming with a special property. E.g., I know that `blue-60` on `purple-10` is accessible (WCAG AA), because the absolute difference is 50+ (60 - 10). I'm currently writing a blog post regarding this approach to spread the awareness.

[1] https://designsystem.digital.gov/design-tokens/color/overvie...

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#72

I just read an article a couple days ago about how even YouTube widgets and stuff have huge a11y problems. I think it's time to admit Google is terrible at accessibility. All their devrels talk like it's important and have all these beautiful demos but whenever you look behind the curtain at their products it's terrible.

The classic "do as I say and not as I do". That said, the YouTube widget is actually quite accessible compared to most other video players [1].

[1] https://accessibility.blog.gov.uk/2020/03/16/why-videos-on-g...

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#73

Imho, the problem with Lighthouse (and Pagespeed before it) isn't that they're not perfect, it's that they assign scores/grades. When Google assigns a score to something, people understand it to mean highest score = best and start optimizing for the grade Google gives them, not for performance and user experience, which the grade is supposed to represent. It would be more fruitful to list the issues and their severit…

Yeah, we did an analysis* on the recent upgrades to use LCP, and found that the score now heavily incentivizes Iframe/Embed content even though they are a big negative for actual performance.

[*] https://buzz.swarmify.com/how-to-get-a-100-score-on-lighthou...

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#74
post #9

Imho, the problem with Lighthouse (and Pagespeed before it) isn't that they're not perfect, it's that they assign scores/grades. When Google assigns a score to something, people understand it to mean highest score = best and start optimizing for the grade Google gives them, not for performance and user experience, which the grade is supposed to represent. It would be more fruitful to list the issues and their severit…

The problem, as I see it, is it more or less makes Google the arbiter of the internet, and when their purpose is to provide internet advertising then I see a conflict of interest. Especially when things like "supporting AMP" will likely impact your score. While unfortunately many businesses have to care about Google SEO due to their complete monopoly status in the search field (one that is of course growing increasin…

AMP luckily isn't a criteria any longer on how Google ranks websites.

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#75

Earlier quoted context omitted.

I'm not sure the argument in your post or the parents hold water - lighthouse scores aren't a "judge, jury, and executioner" sometimes dev tools are just dev tools, and nothing is perfect.

Wouldn't be surprised if they use it in search rankings, chances are they already do. And not being on Google effectively == dead. They already take into account page load speed (which discriminates against complex but useful & good web apps) and iirc also whether you have AMP.

"While AMP itself isn't a ranking factor, speed is a ranking factor for Google Search"

https://developers.google.com/search/docs/guides/about-amp

Google using technology they have developed to rank other sites on their search engine while making sure that nobody cna leave the Google-verse (as AMP sites are served from Google's CDN and not the original source). It would open them up to huge anti trust issues, so at least officially they have said that it's not a ranking factor.

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#76
post #42

Earlier quoted context omitted.

You didn't understand the article. The article doesn't contain a single loophole. Each of those features has legitimate use cases and it is impossible to detect whether they are illegitimate. Just look at the first example. It straight up denies access to the content and the reason why lighthouse accepts it is because hiding content just hides content. Usually when content is marked hidden the user is not supposed to…

Mostly; I can't think of a good reason for 1px sized text.

Part of a CSS animation where the font size grows into place from invisible (such as for an info toggle), instead of simply popping into place?

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#77

This reminds me of a time when a team member was adamant about code coverage metrics. It felt like an intense amount of busy work that really didn’t improve our codebase or ensure thoughtful tests that actually, you know, caught stuff. It was just some weird metric we were chasing that involved making sure we go through each function and superficially test calls, regardless of the fact that some of the stuff we were…

As one of those people who pushes for code coverage, I'd just like to jump in and dump my thoughts, because no tool does what I want and because of that most people don't understand what I'm going for.

The single most important thing is getting code where no consideration was given down to 0%.

This doesn't necessarily mean "all code is covered by tests", though definitely I'd prefer that be a high percent. What it means is all code was either covered by tests, or deemed not worth the time to add a test for and marked as such so the coverage tool ignores it.

Unfortunately, all coverage tools I've ever seen only allow "skip this for coverage", with no nuance. I want at least two reasons for skipping to be built in to the tool, that would be separated in the report:

* Things intentionally not covered because they're simple helpers in the realm of "obviously no bugs", or a small manually-tested API wrapper that works and shouldn't ever change again but that would be a pain or waste of time to write a worthwhile test (significantly reducing the value-to-effort ratio). There are probably other reasons, but those are the two that jump into my mind as the most common in the codebases I've worked with.

* Things that you're not writing a test for because of some other reason, but a test probably could be written for - such as a time crunch while fixing a bug, something complicated you know should have a test but are uncertain about, and so on. This one is measurable technical debt, and ideally should trend towards 0%, but isn't terribly important to do right away - it's a place where a decision was actually made, where losing test coverage is acceptable.

And of course, that leaves code that's covered by no tests and was not intentionally left uncovered. This is what I mean by "no consideration was given" - it's not covered by tests by accident. It's a likely place to find bugs. This is what, IMO, should always be at 0%.

(Quick aside, adding coverage to a legacy codebase would involve marking everything as the second exception. The project functions, but adding all tests immediately is not feasible, so it becomes explicitly marked as technical debt to be reduced over time. All new code then becomes unmarked-by-default where a decision should be made or a test added as the new code is written.)

Having the separate ways to mark uncovered code, and actually using them, is a way to signal to future developers "here be dragons!" when they look at the uncovered and unmarked code.

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#78

Wow, CSS system color keywords seem like a massive privacy leak. I just tested setting the property: background: Background; on an element, and then changing my Windows desktop background. The element immediately changes color to match my desktop. Then if I call getComputedStyle on the element, I get my desktop background color in javascript. This is in Firefox private mode, and apparently every website can read all…

I tested on MacOS and iOS and the colours don’t change in Chrome or Safari.

None changed - I changed my system highlight on MacOS and desktop background on both, and had no changes here.

I don’t have a Linux or Windows machine around to test with.

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#79

Imho, the problem with Lighthouse (and Pagespeed before it) isn't that they're not perfect, it's that they assign scores/grades. When Google assigns a score to something, people understand it to mean highest score = best and start optimizing for the grade Google gives them, not for performance and user experience, which the grade is supposed to represent. It would be more fruitful to list the issues and their severit…

Depends on what the right thing is in your specific context. If you drop from 100% to 98% but increase your conversion rate 5x, the trade off should be obvious. From my experience anything 95% or better is basically perfect. Although stuff like "time to first byte" might impact the number of pages crawled when you have millions of pages etc. There will always be edge cases. The article makes a funny point, but I'm no…

The article's point is that you can accidentally break accessibility.

Lots of sites so garbage like not showing text if JS is off.

Re: Building the most inaccessible site with a perfect Lighthouse score (2019)

#80
post #57

Earlier quoted context omitted.

I worked for a Japanese company that was renowned for Quality (with a capital "Q"). In the US, having "Quality" in your title often means that you are in a dead-end job. In that company, it meant that you were an elite, and that you had considerable power over Engineering. It also meant that you were a completely anal-retentive S.O.B. They had spreadsheets with 3,000 rows (each row was a test -usually "monkey" test).…

Totally unrelated, but your anecdote reminds me of Japan's WW2-era history - the animosity between the Imperial Army and Navy was so bad that the army built their own submarines.

I study WW2. To expand on that:

- Correct. Before the Doolittle Raid, they weren't cooperating with each other. Things totally changed after Tokyo was bombed.

- One of the reasons for the Pearl Harbor bombing was because the Japanese navy had nothing to do, while the army was engaged in China. But had the navy and army been coordinated, they could have occupied Hawaii.

- before Guadalcanal, the US Navy and Marines weren't very coordinated. After the Marines were abandoned there without half of their equipment and supplies, a protocol was developed that improved communications.

Until today, the Air Force and Army fight over who can operate aircraft on behalf of the Army.

Post reply on HN