soledad penadés
repeat 4[fd 100 rt 90]

Archive for the ‘accessibility’ Category

20070503 Sick of standards

Some years ago, a guy which wanted to communicate with his scientific colleagues decided to create a mark-up language called HTML, with additional stuff, which proved to be quite useful later on, such as the HTTP protocol. Surprisingly for them, these tools came to be very popular, even if (or because) they were quite loosely defined and far away from strict.

Since there was no authority for ruling what should or shouldn't be allowed in it, big companies somehow began to add new features to the language, because they wanted their own products (browsers!) to do funkier stuff than their competitors' products. So if one added BLINK, the other one added MARQUEE, the other one added FONT and so on.

Meanwhile, or maybe at the same time, an abstract entity called W3C was created. Or maybe it existed before! Anyway, although they attributed themselves the maximum authority over all-things-WWW, they were mostly ignored by both software vendors and HTML publishers. Publishers kept doing their loose stuff (if it works why should I change my way of doing things?) and vendors kept developing browsers which tried to fix publishers errors so that pages could be rendered even if they deserved to win one of those WTF!? prizes.

Some time after, people got concerned about the situation. Somebody thought Hey, all of this was meant for communicating but we are actually making it harder to communicate! We need to be serious about this!. And they decided to push for Standards to be used.

"Standards" is quite an abstract term as well, but has proven to be very productive and led to lots of literature, conferences and even job titles. All of a sudden and along with the blogosphere explosion, masses of bloggers began to discuss about Standards, the need for using them and the best techniques for each use. Actually, there was just a handful of people leading the masses, which diligently contributed to rolling the standards snow ball by copying and pasting and trackbacking and pinging to the leaders' blogs, so that they could label themselves with a "I'm a standards developer" in their sidebars, along with a long list of links in the blogroll (including at least one link to A List Apart) and a couple of 88×31px icons proudly proclaiming they passed a syntax validation test.

Parallel to all of this were the normal people which saw themselves in a transition phase where developing desktop applications was a no-no and the general trend was to have a web client interface plus a web server. Some of them just sticked to whatever they found handy, like using tables for laying things out in their application. Some others tried to make sense of all those things which they read in the forums and blogs in the outside world, but it was all too late. It had gone crazy!

When W3C saw their little children going with big bad boys they decided to prepare a long list of directives, working drafts and normatives which they should follow if they wanted to be good and be amongst the golden top of good formats, but they kept being loose and indeterministic, making it harder for developers (instead of easing the process of creating good mark up). More literature about standards was generated, this time resurging in differently flavoured waves: now worried about usability, now accessibility, then XHTML, then XML, then XSLT, then something else. Everything was OK as long as you were worried about standards.

And concerned about standards people, seeing the slow reaction ability of W3C decided to create their own groups, like WHATWG and WHATEVERELSE (joking). Vendors sometimes belonged to both (W3C and independent groups), making the whole thing even more complicated because… who are you going to listen to?

Developers tended to position themselves in two groups:
A) the ones trying to make sense about standards. Spending too much time trying to make sense of technical documents which were too many years in "draft" status, while vendors had implemented them however they felt was more convenient, years ago.
B) the ones which completely ignored everything, to the horror of group A

Group A believed group B weren't professionals and Group B believed group A spent too much time fixing the errors of others and fussing about abstractions instead of focusing on getting the job done.

And both were right.

If you want to have a developer title, stop creating abominations. Producing invalid code which renders badly in serious browsers is like being a C++ developer and producing code which leaks memory like crazy and then asking the operating system to clean up after your horrible code. You should be kicked out of the profession!

But on the other hand, being a developer doesn't mean one needs to devote all of the precious [free] time to learn about browser render errors, hacks, different box model theories, and so on and on. Being a developer means one wants to develop, not fix what is inherently wrongly designed (unless one gets to work in one of those projects, that is). Developers are here for the business.

What are you here for?

20070307 Being understood

(This is an extended version of the minispeech I gave at BarCampLondon2, "Being understood", and here are the slides just in case you're willing to see some bullet points goodness).

We are failing to make ourselves understood. We can be speaking the same language as our listeners and failing miserably in communicating even simple concepts properly.

I'll show you a couple of real life examples, taken from a web design and development forum:

  1. Thread A: New website by xyz.
    When approaching a new website by xyz announcement, different people pay attention to different stuff. Designers which need to work with HTML tend to focus only on the design and the flashiness of the end result. On the other hand, developers and people which are really involved with the bare bones web tend to look minuciously at the implementation details and the use of technology, kind of ignoring the end users of the websites.Hence, you get answers like these ones:

    • Designer: it's so cool! I like the design!
    • Concerned-with-standards person: it sucks! they use tables and it is not valid! they should use layers and CSS only!

    In truth, that website was visually great but the implementation was a terrible abomination.

    Normally there are lots of lurkers in the forums and they tend to read way more than they write. Occassionally, someone which is just starting in web development read this thread and got confusing information, which led to the next thread:

  2. Thread B: Help with a CSS design!!!
    I'm trying to do a CSS-with-layers-only design but I'm stuck on something. I'd like to show a list of prices, it should be something like this:

    LOREM IPSUM
    Dolor 10
    Amet 12

    I thought of solving it with something like this:

    <div class="table">
    	<div class="first_cell">
    		<div class="blue_3px_border">
    			LOREM
    		</div>
    		<div class="blue_3px_border">
    			IPSUM
    		</div>
    	</div>
    	<div class="row">
    		<div class="value">
    			Dolor
    		</div>
    		<div class="value">
    			10
    		</div>
    	</div>
    	<div class="row">
    		<div class="value">
    			Amet
    		</div>
    		<div class="value">
    			12
    		</div>
    	</div>
    </div>

    … but I'm having some problems for getting it all well aligned…

    Obviously someone got terribly confused here. There are real examples, like the main page of any forum using phorum's default skin, which is built using div's instead of using a table for what is a good table use.

And then we also have the magic word: accessible. That word. Each time it's used nobody gets its meaning right. You can find discussions like this one:

  • this site is not accessible
  • … but I can access the site, what's wrong with it?

… which should start ringing all the bells in our brains but instead of stopping and trying to clarify things before it's too late, we just contribute to increase the uncertainty and fear with more misunderstandings, like for example these ones which are very common:

  • cookies will steal all the data from your computer
  • javascript will steal and publish your compromised pictures in flickr
    • and tag them
    • and geotag them
    • and send an e-mail to all your friends
    • ok, just joking!

There are multiple sources of confusion for each person, even technically savvy ones. While browsing any website, we get bombarded with lots of acronyms and terms which not only can be completely unknown to us but also increase the probabilities of misunderstanding the rest of the content, because we get confused and our brain is still trying to figure out what those terms mean. Think of things like:

  • RSS
  • CC
  • XFN
  • ATOM
  • Tag cloud
  • XML
  • AJAX
  • Web 2.0
  • W3C
  • WSG
  • WAI
  • etc

Is this something to worry about? I would say deffinitely YES, specially if we look at some absolutely subjective facts that I've come up with:

  • Only 5% of sites do not make my eyes bleed when looking at their source code
  • 60% of people claiming they follow standards do not really understand what it means
  • Is the result of trying to follow standards worse than a step backwards? Look at all the cases of:
    • divitis < div class="table">< /div>, because someone understood he should just use div's in a tableless design
    • classitis < h2 class="title02"> < /h2>, < div class="h2"> </div>, because people don't understand html semantics nor css really
    • self proclaimed "valid html generators" CMS's and alike, e.g. Joomla!/Mambo, Postnuke, vBulletin, phpBB, subdreamer, etc - the default template from each one of them may pass an automated test but it's not "valid HTML", and not semantic HTML either (which I believe is way more important than passing an automated test). Unfortunately, people with limited technology knowledge may choose one of these believing they are doing the right thing, thus contributing to the global disaster.
  • W3c icons are perverted. Most of the times you find them in sites generated with the aforementioned CMS's, when not in governmental websites, and a simple test shows zillions of errors, which creates these two feelings amongst concerned users:
    • they are kind of useless
    • they guarentee nothing

    Ultimately, non-technology people do not have a clue about the meaning of those icons, which are part of the confusing elements I referred to before


So what can we do?

I think we, as technologists, need to take a different approach. Although we are responsible for building the www, it's not us who are going to use it most of the times. Common people are going to enter the content, to play with the systems, to use them, and maybe extend them. If we don't make ourselves understood and aren't able to educate them on how to do things properly, we are failing.

We need to think out of the box, putting ourselves in their place, and trying to understand their goals and concerns. And while some of their concerns may look ridiculous to our eyes, we must be patient and not overreact. It's like the "THIS SITE SUCKS" response to a posting in a forum. It doesn't help, it's not constructive, and just produces frustration.

But convincing people to use something abstract is very, very hard. Nobody's going to take your new and shiny standards-based approach if they have something which works for them and you just have philosophy and words theorising about the benefits of standards and all that stuff. You need to demonstrate movement: be an early adopter, stop theorising and start building practical solutions right now. Show real applications of standards which give real advantage over the old practices.

(Obviously, you'll need to assume risks but that's part of the game.)

Finally, the most important rule of all is: be accessible - yes, YOU! Do not scare people away with a cloud of meaningless (for them) words when they come to you, and speak their language, not yours.

————————————————–

Some context:

This was inspired by an article which Ricardo wrote, "The accessibility is inaccessible". After lots of comments and the discussion which followed outside the blog comments, and reaching a point in which I was almost getting angry I realised there was something very wrong about the whole discussion, and the "Think outside the box" sentence made me understand why me and the rest of the people which was against Ricardo had got it wrong, because we were failing to think in "non developer terms". Extrapolate it a bit more and you've got a fantastic source for a BarCamp talk :-)

20070219 BarCampLondon2 :after

Being understood image at BarCampLondon2

If you read my Thurday's post, I was terribly undecided about what to talk about (doesn't sound too good, heh!), but after forcing myself to revisit all the special and interesting issues or topics I have been involved in lately, I finally decided that I really needed to talk about communicating and more specially, making yourself understood. So here they are… the slides for Being Understood by Soledad Penadés. (I presume they are not self explanative so I'll probably extend them in an article soon).

The presentation itself wasn't nothing spectacular but I think it went terribly well, given that it was the first time I spoke to strangers and in english. We were a reduced number of people so we could have some interesting chat instead of being a traditional speech, which was pretty cool.

I tried to use keydoob for making the slides; keydoob is a little thingy that (obviously) mr.doob prepared for a couple of presentations he did, but as I couldn't manage to find certain files and also I was beginning to feel the panic attack at 3AM I decided to go for some HTML+Javascript+CSS. I used Script.aculo.us and Prototype for the little Javascript involved, which could be thought of as absolutely overkill but anyway, it was a quick hack ;-)

The good thing of this is that as the slides are HTML with a css style sheet only for screen, if you try to print them they will appear as raw HTML with all the content still looking meaningful. In fact, if you use Firefox and have the Web Developer Toolbar installed, try deactivating all the linked styles - it should do :-)

BarCamp itself was great. It was very very motivating to see so many active people, so many presentations lined up, on so many different topics. I really liked that willing-to-share atmosphere. And in a way, it also confirmed that dream idea we had once of organising an event like that, where people could organise themselves and their timetable, wander around the spaces and join whatever they liked more. And the next half an hour, maybe present something.

So, congratulations and thanks to all the organisers and attendees for the insane amount of work required for bringing it all up and running :-)

20060404 Naked days

So following this post by torresburriel (in spanish), I decided to deactivate the style sheet of this blog for a couple of days. It will reveal its not-perfect-semantic-markup-yet but at least it will be useful to demonstrate that accessibility it's not incompatible with good looking websites.

Long life accessibility!

20051113 The web is a flexible medium

I had been mumbling around this topic, trying to explain it to myself in a way I could write it here and let you know what I have learnt about css and web design, but I have found this great article: CSS Is not Hard - If you recognise for what is it, via 456 Berea Street's Flexibility makes working with CSS easier.

This expresses exactly the feeling I had about web design: If you try to make it look exactly the same in all browsers, you're dead, dude. You know the usual issues:  it looks nice and cool in safari and firefox (or camino) but you need to make lots of tricks for it to look the same in internet explorer because its standards support is, being polite, poor. But by doing that you dirty the code, add non-semantic content (presentational) to the page. And then you've lost the whole point.

We need to be flexible, accept the differences between rendering devices and enjoy them. As the article points, it's stupid to create a web for Internet Explorer 6.0 on Windows XP2 with a screen size of 1024×768 and full window with the font setting to medium. Leaving apart the fact that not everybody stays on that operating system, and even in that hypothetic case, not everybody has that resolution or even a maximized window, we need to think about this recent myriad of internet capable devices. First example which comes to my mind is trace's PSP browser. And that's just the beginning: pda's, mobile phones…

I personally love to see how my page changes the appearance depending on each browser. I really have reached a point in which I don't mind at all if it looks weird with internet explorer. I am not going to lose any second of my life to fix that for my personal web. And well, I won't propose everybody to get such a radical approach but would suggest to start trying to pay less attention to the "rendering equalness" and more to a good content which is easy to present in every device.

Which is the goal of the world wide web, by the way.