Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Friday March 15 2019, @01:35AM   Printer-friendly
from the one-thing-is-not-enough dept.

WebAIM issued a report last month analyzing the top one million home pages for accessibility and web designers Eric W Bailey and Ethan Marcotte each take separate, hard looks at it because it is indicating a very sad state. The report noted all kinds of problems, even including throwbacks like using tables for layout with 2,099,665 layout tables detected versus only 113,737 data tables out of 168,000,000 data points. Web designers, old and new, are largely failing in simple matters that were, or should have been, covered in Web Design 101.

Ethan includes in his summary:

Those are just a few items that stuck with me. Actually, “haunted” might be a better word: this is one of the more depressing things I’ve read in some time. Organizations like WebAIM have, alongside countless other non-profits and accessibility advocates, been showing us how we could make the web live up to its promise as a truly universal medium, one that could be accessed by anyone, anywhere, regardless of ability or need. And we failed.

I say we quite deliberately. This is on us: on you, and on me. And, look, I realize it may sting to read that. Hell, my work is constantly done under deadline, the way I work seems to change every year month, and it can feel hard to find the time to learn more about accessibility. And maybe you feel the same way. But the fact remains that we’ve created a web that’s actively excluding people, and at a vast, terrible scale. We need to meditate on that.

Eric also followed the WebAIM report closely:

Digital accessibility is a niche practice. That’s not a value judgement, it’s just the way things are. Again, it’s hard to fault someone for creating an inaccessible experience if they simply haven’t learned the concept exists.

And yet, seventy percent of websites are non-compliant. It’s a shocking statistic. What if I told you that seventy percent of all bridges were structurally unsound?


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by FatPhil on Friday March 15 2019, @12:29PM (14 children)

    by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Friday March 15 2019, @12:29PM (#814725) Homepage
    Sure, I want the raw HTML to be as universally as useful as possible, to browsers great and small, to readers, to scrapers (the more lightweight a page is, the less imposition a spider visiting it is), etc., even to a human just reading the HTML! But what I'm talking about is *enhancing* - actually enhancing, not adding unnecessary bells and whistles - the functionality for those (who will be the majority) that have a featureful interface, but in a way that there's absolutely minimal, preferably zero, interference with the raw view. I don't believe that which adds for some, and takes away nothing for others, should be avoided, just out of some glorification of the lowest-common-denominator solution. Just because less can be more, doesn't mean less is always more.

    Annoyingly, after reading lots of HTML and CSS specs, I was sure that came up with a CSS method to do the hiding that I required, all a reader would encounter would be a checkbox for each paragraph, and then the block of text, for example, enhancing:

    <tr> <td>thing 2 </td> <td> <p>paragraph for thing 2 </p> </td> </tr>
    to:
    <tr> <td>thing 2 </td> <td> <input type="checkbox" name="para-truncator-2" style="display:hidden"> <p class="truncatable">paragraph for thing 2</p> </td> </tr>

    That should't perturb a screen-reader too much, if at all, should it?

    Alas due to some corner case weirdness, I couldn't get any gui browser to do the right thing. So at the moment I've fallen back onto splitting the paragraph into the always-visible part, and the CSS-hidable part. There were apparently solutions to this problem that looked like they were browser-specific, or generally hackish, so I avoided them like the plague. I'm not after cludges, I'm after clean solutions.
    --
    Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by acid andy on Friday March 15 2019, @01:08PM (6 children)

    by acid andy (1683) on Friday March 15 2019, @01:08PM (#814737) Homepage Journal

    How about keeping the HTML clean and having a separate Javascript file that shrinks the size of a div containing the paragraph text (with appropriate CSS to truncate overflow) and attaches a click event to a small button image which regrows the div and turns off text truncation when clicked. That way, if Javascript is disabled, there won't be any unusual markup except for the button and the whole paragraph should be there in full. Just a thought, although I can understand why you might want to avoid Javascript like the plague. ;)

    --
    If a cat has kittens, does a rat have rittens, a bat bittens and a mat mittens?
    • (Score: 2) by FatPhil on Sunday March 17 2019, @02:13PM (5 children)

      by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Sunday March 17 2019, @02:13PM (#815842) Homepage
      "CSS to truncate overflow" alas doesn't work in tables, unless you jump through disgusting hoops to limit the size of the table. As soon as you say "make it one line", which is a prerequisite for truncation to even make any sense, the table grows to accomodate it, and truncation is no longer needed.
      --
      Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
      • (Score: 2) by acid andy on Sunday March 17 2019, @03:21PM (4 children)

        by acid andy (1683) on Sunday March 17 2019, @03:21PM (#815868) Homepage Journal

        You can truncate a table (at least in a browser that's not from the Stone Age) as long as you put it inside a div (or other block element) and apply "overflow: hidden" to that div with a width and height specified:

        <p>Here is a truncated div:</p>
        <div style="overflow:hidden;width:300px;height:90px;border:1px solid black;display:inline-block;">
        <p>Here is some text before a table.</p>
        <table>
        <tr><th>Heading 1</th><th>Heading 2</th><th>Heading 3</th></tr>
        <tr><td>Data 1</td><td>Data 2</td><td>Data 3</td></tr>
        <tr><td>Data 1</td><td>Data 2</td><td>Data 3</td></tr>
        <tr><td>Data 1</td><td>Data 2</td><td>Data 3</td></tr>
        <tr><td>Data 1</td><td>Data 2</td><td>Data 3</td></tr>
        </table>
        <p>Here is some text after a table.</p>
        </div>
        <p>Here is some text after the truncated div</p>

        Whether that qualifies as "disgusting hoops" is a matter of perspective.

        I put the CSS in a style attribute for simplicity but in practice it would go in the style sheet and only be applied by the Javascript I mentioned in my previous post. That way the markup would remain clean for anyone with Javascript disabled.

        Lameness filter encountered. What an exceedingly useful and fine example of the art and science of software engineering our darling lameness filter most certainly is. Oh, how I love it. Oh, how I pine when it does not show itself upon my click of Submit.

        --
        If a cat has kittens, does a rat have rittens, a bat bittens and a mat mittens?
        • (Score: 2) by FatPhil on Monday March 18 2019, @06:43PM (3 children)

          by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Monday March 18 2019, @06:43PM (#816563) Homepage
          I tried something like that before, but I simply can't get the table to fit in the div. Fixed dimensions are right out, too, as I want the maximum amount of information visible on the screen, so the table should be as wide as it can be, but that's fixible using "width:100vw" rather than any px values. In order to have the concept of truncating the text in the cells, rather than wrapping, the text almost certainly needs to be "white-space: nowrap;". And with that style, the table just zooms out of the div no matter what I do. Hiding the overflow of the div doesn't stop that, it simply truncates the over-sized table, which I don't want, as I can't pull the hidden text back into visibility. I have oversized text in table cells which I'd like to independently toggle between one truncated line and multi-line everything visible.
          --
          Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
          • (Score: 2) by acid andy on Monday March 18 2019, @07:56PM

            by acid andy (1683) on Monday March 18 2019, @07:56PM (#816595) Homepage Journal

            Hiding the overflow of the div doesn't stop that, it simply truncates the over-sized table, which I don't want, as I can't pull the hidden text back into visibility.

            Normally the overflowing part of the div that was hidden (including part of an oversized table) should show up as soon as you programmatically increase the height of the containing div (I just tried it on the example I gave you, changing the height in the browser's developer console). This design pattern is used loads on the web, often referred to as an "accordion". The caveat is that it's usually done with fixed sizes specified in pixels.

            Fixed dimensions are right out, too, as I want the maximum amount of information visible on the screen

            Yeah, once you start trying to auto-size elements it gets a lot more unpredictable / clunky. Which is a shame because I hate most fixed-width websites.

            --
            If a cat has kittens, does a rat have rittens, a bat bittens and a mat mittens?
          • (Score: 2) by acid andy on Monday March 18 2019, @08:11PM (1 child)

            by acid andy (1683) on Monday March 18 2019, @08:11PM (#816602) Homepage Journal

            I have oversized text in table cells which I'd like to independently toggle between one truncated line and multi-line everything visible.

            Ah yeah, so you need the actual table cells to resize individually? My gut feeling is that that would require something really messy like rebuilding the whole table with Javascript or even worse doing the whole thing with a grid of divs instead of table cells maybe even swapping in a hidden copy which is so ghastly I think ShadowSystems would have every right to beat me to a pulp! I think I get the problem now!

            --
            If a cat has kittens, does a rat have rittens, a bat bittens and a mat mittens?
            • (Score: 2) by FatPhil on Tuesday March 19 2019, @09:14AM

              by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Tuesday March 19 2019, @09:14AM (#816864) Homepage
              My guess would be that specifying width=99vw for the table would make the table 99% of the viewport width wide. Guesses are useless in this game. Some of the illogic I've seen a selection of browsers do whilst trying to work out how to achieve this aim has been mind-bogglingly WTF-ey.
              --
              Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
  • (Score: 0) by Anonymous Coward on Friday March 15 2019, @02:09PM

    by Anonymous Coward on Friday March 15 2019, @02:09PM (#814760)

    I don't want to say you are missing the point, but you are fixing something that isn't broke by the means of breaking what doesn't need fixing. It will work for you, but not for the intents nor reasonings you are hoping for.

    It could very well be that the tools used to help scrape websites need to be more aware, but that the makers of such tools are not doing so. They are very behind, and the internet will keep advancing.

  • (Score: 3, Informative) by ShadowSystems on Friday March 15 2019, @04:14PM (1 child)

    by ShadowSystems (6185) <ShadowSystemsNO@SPAMGmail.com> on Friday March 15 2019, @04:14PM (#814849)

    You call it "enhancement", assistive tech interfaces call it a right pain in the ass.
    Why bother hiding/truncating it at all?
    That's just a fancy visual trick to make the content look a specific way, a way that doesn't translate to a non visual interface.

    Think of a sheet of binder paper.
    You can't hide the text without resorting to using "invisible" inks.
    If you want someone to be able to read what you've written, you have to put it in the open without obfuscating it.
    Ditto with a web page.
    If you want us to read it, don't try to hide it.
    That just pisses folks off & makes it that much more likely we will go somewhere else.

    If a newspaper presented content by hiding it, how well do you think that will go over with an audience whose time is valuable, in short supply, & aren't too keen to having to read the (paper/site) multiple times before they get all the content they expected to get the first time?

    Don't hide anything.

    You call it the lowest common denominator as if that were a bad thing.
    You sneer at the LCD, but the LCD is what gets read when your CSS/scripting efforts fail.

    Personally I'd love a browser that ignored CSS & scripting of all kinds, just presenting the plain text.
    If a site doesn't work at that point then I can be sure the coder(s) weren't worth the oxygen they wasted creating the site.

    The more code you use to present your content, the larger the page in Kb, the longer it takes to send to the visitor, the more strain on the server, & the more likely you'll include a security hole in there somewhere.
    Do yourself (and everyone) a favour by just KISS.
    Smaller, lighter, less crufty, more secure, works everywhere for everyone.
    What's not to like?

    • (Score: 2) by FatPhil on Sunday March 17 2019, @02:19PM

      by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Sunday March 17 2019, @02:19PM (#815844) Homepage
      "Why bother hiding/truncating it at all?"

      Because I want a summary of as many things on screen on my phone as will fit, but with instant access to the expanded content if I wish to expand it.

      Your argument seems to be nothing more than "your requirements are wrong". That is the height of arrogance. My requirements are my requirements, which are also those of my visually-impaired girlfriend, who typically uses a console-based non-JS browser. That is an immutible fact.

      Your "don't have those requirements" simply doesn't wash.
      --
      Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
  • (Score: 2) by The Mighty Buzzard on Saturday March 16 2019, @04:18AM (2 children)

    by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Saturday March 16 2019, @04:18AM (#815278) Homepage Journal

    Shouldn't you be using divs for non-tabular data layout rather than tables? Says a dev of this website that has an unholy mix of both...

    --
    My rights don't end where your fear begins.
    • (Score: 2) by FatPhil on Sunday March 17 2019, @02:22PM (1 child)

      by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Sunday March 17 2019, @02:22PM (#815846) Homepage
      It's tabular data, the columns are really columns, and the rows are really rows.
      --
      Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
  • (Score: 2) by The Mighty Buzzard on Saturday March 16 2019, @04:20AM

    by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Saturday March 16 2019, @04:20AM (#815280) Homepage Journal

    Oh, and have a look at the + and - in the title bar of your comment above in source. Sounds like it should be easily adaptable to what you're trying to do.

    --
    My rights don't end where your fear begins.