Is it still necessary to use em's and avoid javascript for Accessibility?

Whether a page respects the OS font size settings is a valid concern and legitimate argument. I never said otherwise. All I’ve said in this entire thread is that it isn’t an accessibility issue. A page that uses px units is still very much accessible to you. One extra click to select a zoom level does not qualify as inaccessible.

Except when the layout breaks, ends up too large for the screen (Opera’s fit-to-width kinda helps), resizes inconsistently – I mean really, have you actually USED the zoom in most browsers? It’s a disaster… and that can quickly become an accessibility disaster.

Admittedly less of a disaster on fluid or semi-fluid layouts.

Yes, in fact, I have used zoom on several sites and in all the major browsers, and the result is nothing like what you describe.

Zoom fails on a lot of sites for me: the sites where, when I use zoom, the page itself (often with two or three or more columns) gets wider than my browser. Which is pretty wide for me, I’m generally a full-screen browser. This entails scrolling the scrollbar back and forth to read sentences.

That’s not the fault of zoom, it just has everything to do with how the pages were built. Properly-built pages don’t do this with zoom. But when I text-enlarge, I like that the boxes and the images and everything else stay the same. Incidentally, this specific behaviour that I love, Crusty up there really hates (he likes the whole page/layout growing).

That page layouts break on zoom, that IE7’s zoom is incredibly craptastic, and that technically zoom seemingly gets a lazy or ignorant developer a Get Out Of Jail Free card with regards to readability… these are not the issue. The OP should avoid using px for his fonts unless he has a Good Reason to do otherwise. To me, a Good Reason can simply be that the OP has both a nasty deadline and not enough experience to build em-font-pages or em-container-pages correctly. Everyone has to learn and most of us learn on the job. It happens.
Another Good Reason would be that images are strongly involved. They’re made out of people er pixels, and you can’t get around that, so sometimes your font has to also be set in pixels (be aware, various OSes may still not display the font exactly the same way or place or size anyway).

Crusty: Don’t worry about Jeff, he’s a pro-accessibility guy. He’s just stating technicalities.

Thanks for all your comments guys, you’ve given me plenty to consider.

Thanks for the advice. I can get progressive enhancement working up until a point, but there certain little features (that I’m sure some would consider unnecessary) that I think would improve usability yet could create problems with AT. So I think two versions might be the answer at the moment although it may be considered as one version with handful of functions disabled - maybe that would be easier to maintain. Or maybe providing the option to disable each of these features one at a time would be better.

Thanks, I’ll look into this.

Thanks, everything’s still in its infancy but maybe I’ll do this in the not too distant future.

Another one of those things where more blame is put on the developer instead of the UA. Zooming or not zooming, breaking layouts or not, these are relative measures to judge if px or em is better. You can base your text on em and you can still have the same issues: too large or too small text on the page, breaking layouts on zoom. These are false arguments. In the end, using px is a choice a developer should be able to make. The UAs need to get better at it. End of story.

It’s not enough to be able to set the base font and size in the UAs settings, like changing it from the default 16px to 18px. The UA needs to have simple options for text settings overrides. Like Dolphin does, when it’s letting you set the text size to: tiny, small, normal, large, huge. That’s it. A very good place to start.

There are two sides of accessibility, in your developer’s yard, like in don’t break the accessibility for a bigger number of people just to satisfy a smaller part, and leave both parties helpless.

If there is one thing a developer needs to do is to be able to intelligently use media queries. That’s it.

I would disagree because you do it right, it shouldn’t break on zoom until around 300% or more, and the user shouldn’t NEED to zoom because the people who ‘need’ it will already be set up to not have to do anything. That’s the beauty of EM… and why PX should be restricted to where you HAVE to use it, like on an image interaction. Auto adjusting to what the user has set just makes sense… designing fixed… well, anything – size, width, height, etc… that’s just lazy, sleazy half-assed development… type of thing you expect out of a PSD jockey who doesn’t actually understand what a website is.

… and how is that not a simple way? How is that any different from setting it in the OS? You’re… contradicting yourself… or just not making sense.

I’ll jump into the fray for a second and hope that I don’t get assaulted :wink:

To me, this argument is simple.

Is em/% an accessibility issue? Yeah. Kinda. I just ate dinner w/ my grandma and grandpa who live in a retirement home. I just saw at least 5 people with their noses pressed to the menu in the dining hall. But yeah. If they had zoom, it would have been better. Right? Nah. Not really. Because the real issue was that there noses weren’t really pressed to the menu. They were pressed against huge glasses. Which were pressed against magnifying glasses. And they still can’t see. Meaning it is an accessibility issue. Those people might use computers (so don’t go off on “Oh, hurr durr they probably don’t use computers b/c they’re like 90!”), and if they do, they probably increased their font size. If they still have to use glasses and a magnifying glass to read your content, that’s just lazy and stupid and terrible. The web, as I think everyone agrees, is about catering to everyone. We have to design and develop for all people, not just you.

But to me, em/% is really about, I don’t know, being nice. Like I said, if they change their font size, then they should have that default font size and shouldn’t have to zoom because the developer got lazy and decided he/she wasn’t going to make an effort. That’s just poor. “Well they can zoom” is a bad justification for being lazy.

~TehYoyo

Edit: I only really started reading after DS started posting b/c frankly…that’s when it got interesting (No offense, Stomme - you’re posts were just too long :p). I hope I didn’t restate what someone said.

My entire point in a nutshell.

Win!

For the simple user, “16px” or “18px” doesn’t mean “normal”, “larger” does it? I’m making perfect sense, you’re the one contradicting your self when you assume users know how to look under the hood and that they understand what 16px mean and that’s an easy task. It’s not. The simple task is one like the one for Zoom: you go to “View” menu entry and choose “Text size”: tiny, small, normal, large, huge. Do you see it now? :wink:

You are again making false statements to help with your argument. You generalize that using px is bad because PSD jockey this and that. I’m sure I can find you a few PSD jockeys using ems.

“If you do it right.” That’s the problem. You can do it wrong using em values too. So it’s all about the developer, when it should be about the UA. The developer can screw it up, px or em, regardless. You have found a “magic” formula, where you “respect” the user settings, but you lose sight of the fact that the average user will never know you did him a service, because he doesn’t know how to look under the hood to make adjustments.

But he knows the Zoom, because it’s an easy to reach option. And that Zoom value he goes for, is remembered by the UA. One good thing. The same or better as the modified font and font size option where you have to adventure your self in deep waters, i.e. under the hood settings.

And you can also do it right using px for the base font size. The same way the UA does: it starts off with a px value for the base font, so do I: I start with a px value for the base font. From this point forward, I’m using em values that relate to that base font size. Then you can change that base font size in your media queries, if necessary. Case dismissed. px is not worse than em. Only developers that can’t fathom different things that work as well. Or don’t want to because they’re lazy. :wink:

In other words what windows has done since 3.1 with “large” and “small” – and has expanded width “Smaller, medium, Larger” – corresponding to 100%/96dpi, 125%/120dpi, 150%/144 dpi respectively? Which if software like Firefox would get off their backside and obey by default like Opera and IE do? (and have since 1995) you wouldn’t be saying px in the browser in the first place?

No, you can’t, because px is fixed… So it doesn’t auto-resize for people who expect it auto resized!

and completely alienate users… LIKE ME. Those of us who’ve been using large fonts/120dpi for a decade and a half. Basically you’re saying “declare px on body” – fail/fail/FAIL!!!

There’s a lot of that out there it seems.

Jason,

You’re presenting skewed views and half truths to backup your opinion.
Only because it suits your particular case, a user with a certain knowledge on browser settings, it doesn’t make it generally viable.

What you’re not seeing is the big picture.
You’re backing up solutions that first make assumptions about the average user technical skills.
It only serves a few, not the majority, as intended, because of that.

The majority of the average, less savvy users, doesn’t care for your elaborated em plan with complicated to achieve assumptions.
It has simpler plans to make it work.

Everything starts from px values:

  1. the browser does this: it sets a baseline for the font size, whatever px it likes, more often 16px.
  2. you’re doing this: you change the 16px to whatever px you like, under the hood, to solve your accessibility problem. Not many targeted users do this, nor do they know how to.
  3. I do this: I change the baseline, 16px or whatever, to whatever px I like, in CSS, on body. Using em instead will only serve you and a select few. Pointless.

What’s different from you, is that I’m changing the baseline in another way.
From there on, I also use em, which is a one good use.
Just because you can change the px baseline under the hood instead, it doesn’t mean the great majority of users knows how to do that and profit from it.

How are those different one from another? Since all of them are px based, either all failing/failing/FAILING!!! or none is failing and you’re arguing a false “proprietary” concept.

Your knowledge is only helping you on that, and a very small percentage in the user mass, that knows how to look and make mods under the hood in a browser.

I’m only changing the baseline the browser already sets.
Me using em for that is no better than me using px, for the average user, unwary of your assumptions.

In fact, the great majority of users knows how to zoom.
That means that putting a px based text size baseline on body is safe.
Zooming will also make the “fixed” base font size grow.

Zoom preferences are also saved by the browser.
And the user doesn’t need to learn to look under the hood, to locate the settings for base font and font size, to understand what 16px means, to understand what 18px or what whatever px means.

So, an advice: rely on zoom.
Maybe a decade and a half ago it was not a viable solution. Today it is.

As far as the layout breaking goes, I believe we can all agree on that: using em is not a magical fix for that.
There’s nothing to guarantee em is better than px when it comes to layouts breaking.
The only thing helping with that is the “do it right” part.

As far as the accessibility goes, I’d say that using em the wrong way can mean more damage to the user experience than using px the wrong way.
An average developer can screw it up easier using em.
And a good developer can do it right with px also.

To summarize, you’re basing your entire argument on two premises:

  1. That the average user would know how to set the base font in a browser using under the hood settings better than how to use the zoom feature in a browser.

  2. That using em means an automatic fix for broken layouts and accessibility.

I believe it’s safe to acknowledge that both are false arguments. You’re not fixing anything using em, you’re only fooling your self that you do, because you start from false premises. And the average user doesn’t care for your assumptions, since he doesn’t care for complicated, under the hood settings.

So:

  1. the developer can change the browser’s px baseline with his px baseline because em is not a magic potion for accessibility or layout
  2. the average users are more likely to use zoom and the average users are the majority and they don’t care about your em or my px
  3. Zoom preferences are remembered by the (good) browsers, and it’s easier than searching and setting under the hood settings
  4. your Opera browser acknowledged that and has put the Zoom option in very very very very handy and visible place
  5. the browsers needs to have a Zoom like option for Text Size, in an very accessible place, with easy to understand values, that is, “for accessibility” values
  6. some browser already do have this feature, Dolphin, for example
  7. while doing that, browsers should also throw in an option for Line Height settings

It’s less about developers and their almost always false assumptions, and more about sensible UAs improvements and options.

[QUOTE=itmitică;5092613]Jason,

You’re presenting skewed views and half truths to backup your opinion.
Only because it suits your particular case, a user with a certain knowledge on browser settings, it doesn’t make it generally viable.
[/quote]
Because the default page under “display” in the control panel is too tough for the average person? I think not.

You’re underestimating the intelligence of the average user more than I am – to be honest that’s kind-of shocking… as I usually start out pretty far down that scale when it comes to my expectations of what a user can do.

and tends to need to be different for every blasted page… which is why telling the user “just use zoom” is a royal pain in the backside – and flat out not just ignorant of why %/em was advocated in the first place, runs entirely contrary to the POINT of HTML. Alternating between CTRL+wheen and CTRL-0 over and over again every time you load a different site is NOT the answer… Especially when many users just want a consistent application of ONE SETTING.

Your entire argument holds water like a steel sieve and is not only defending the indefensible, IS IT REALLY SO HARD to use or god forbid understand… is there some magical advantage to pissing all over accessibility by making everything in px? I think not.

Though I will admit, if browsers stored the zoom settings PER SITE (well, by domain) – the same way Opera allows for per-page disabling of scripts, css, images and a whole host of other settings, I’d be a lot more agreeable to what you are saying; EXCEPT…

If I set it in the blasted OS, I expect EVERY application to pick up on it… you know, consistency? The thing Apple users get their panties in a wad over when some application doesn’t match their current flavor of OSX’s window styling? E

SPECIALLY now that instead of being an install time option (as it was in win 3.1) or buried under display -> advanced (98/2k/XP) it’s now in Win7 the default page that opens in “Control Panel -> Display”…… and has that nice handy link to “Set Custom Text Size” in there as well…Oh, and don’t forget the “Make text and other items larger or smaller” link to that setting as well under “Screen Resolution”. That’s not hidden or too hard for people to find – if anything we now have the danger of Christa McAuliffe Syndrome. “Hey, what’s this button do?”

Which plenty of users are stumbling across as screen resolutions climb when screen dimensions don’t… your average 23" 1080p display having 25-30% more pixel density than the old 17" CRT’s did at 1280x1024.

But sure, just go ahead and ignore ten years of it being in pretty much every guideline, almost 25 years of it being a functional option people have used under Windows, and just keep sleazing out pages more broken and less useful than the crappy HTML 3.2 pages vomited up using Frontpage or Netscape composer from a decade and a half ago.

Since that’s basically what you are saying to do.

On single thing Jason:

Who said anything about making everything in px?

I believe I’ve given a good argument. I exposed your very weak spot in your argument for em.

And your side considerations about Frontpage or user knowledge or this page or that page are yours alone. You need to remember that. You can’t possibly speak for the majority of users too. No matter how much you wish it were so.

em/% was advocated assuming. Let’s get over that and see the truth: it shouldn’t assume, and as such is useless.

You, since you’re basically saying to set it on BODY screwing every element – even if you use EM everywhere else on the page, if you’re inheriting from px, it’s stuck as px without the entire REASON to use EM in the first place!

Unless I’m completely misunderstanding where you say “the developer can change the browser’s px baseline with his px baseline”

“changing the baseline” means setting it on a top-level element so all EM inherit off that instead of the browsers default, ja? If so, FAIL at web design so hard… It’s a miracle you’ve not been laughed clear off the Internet.

If that’s not what you are saying, then what the devil are you even arguing about?!?

You’re arguing all my points of why to use EM… so you’re advocating content in PX; otherwise, what are you even DOING?!? Whiskey Tango Foxtrot!

You set px above an em, as you call it “baseline”… like on the BODY tag, you’ve entirely defeated the POINT of using EM!

Oh, that what’s that paper with the nice big red border that appeared on my display was about! I always wondered, when did you get yours and what did you do with it?! LOL

Your em content, is it starting from px also? This is your fail/fail/FAIL!!! to understand: it all starts with px. And dpi or not, zoom is the most likely answer for the most, not an em concocted plan. Users don’t care for your plan. Hell, humans don’t care for God’s plan! (OK, that was a bit theatrical, but I had to counter your renowned verbal force with something. :wink: )

Ok guys. Let’s not get too heated/angry about this. We all have our own opinions - there’s no need to flame each other (note how I didn’t single out a single person). Let’s all handle this maturely and professionally.

@#!*% , humans don’t care for God’s plan!

I now see why we have a “don’t talk about religion” rule. I find that offensive. Please don’t ever repeat it. I’m a Christian and so are about 1/3 of the world’s population.

Back to the discussion.

itmitica, your point about using ems after changing the baseline in the body element basically means you’re using pixels throughout, just…not using “px” to declare it.

The reason why you should use em instead of pixels is just to cater to the people who have changed their font size. If it’s really that bad, then just convert the ems to pixels. In general, 16 px is default. Therefore, if you want font-size to be 11px, then just declare it as 0.6875em. It’s not that hard and helps out the people who have changed their font size (and who, obviously, want their default size to be that big). And if they haven’t/don’t have the technological know-how to change it? Then fine. It doesn’t affect their experience at all. It’s not that hard and caters to the entire web - if you don’t want to do that, then I question why you’re a designer (not saying you don’t want to do that, it’s just hypothetical).

Also, the “average” user isn’t who we care about. We care about all of the users. Sure, the average user carries a bit more weight, but if the average is about 75% (a substantial average), then that’s 1/4 of your users who are getting a bad experience - and why? Because the developer was too lazy to pull out a calculator and change px to em based on 16px.

Even if people don’t notice the changes that we, as developers and designers make, it doesn’t matter - if they get a good experience, regardless of whether they know that we did it for them, then we’ve done our job - I think that all experienced designers/developers know this: that subtle changes in the background make all the difference.

~TehYoyo

No actually, it doesn’t… or at least, not a fixed px value – since the OS could be feeding it pt, or a whole host of different PX – even if the user agent or OS is feeding it PX for size (which is often NOT the case – see PRINT) that number of PX is not a fixed value or have a fixed equivalent… The OS could be feeding the browser 12px, 16px, 48px… The point of using EM is to automatically adjust to that. It’s not rocket science to understand the how/why/where of it.

You override what EM is getting from the browser or OS using PX, you’ve thrown accessibility out the window and as you said, might as well just declare everything in PX; which again is the pinnacle of /FAIL/ at web design.

Though a good laugh – internally Windows tends to use PT, not PX… for all the reasons I’ve been outlining since PT also scales – I used to advocate PT instead of %/EM – while it ignores zoom in IE6, it’s the only metric that Netscape heritage browsers actually obey the OS on; the reason that from the day CSS was introduced up until sometime around the middle of the last decade PT was the weapon of choice on things like forums (other than phpBB, which has always been useless “px only” territory). It was more accessible to have it auto-enlarge than text-zoom was.

… and it still is. All these fancy zooms are cute, but nowhere NEAR as useful. PT would be better than PX.

Again with the assumptions. For the average user the OS and the UA have no change in the default settings.
The point of zooming is also to easily adjust, for those lacking the technical knowledge for changing the default settings.

I believe this too, it’s really not rocket science to understand the how/why/where of zoom and the how/why/where of users that have no clue what you’re talking about and prepare for using the em concocted plan.

You should really realize it’s asking and assuming too much for that em solution to even start with. While with zoom, there are no special requirements, nor it asks for given settings that go over the head of 99,99% of the average users. Again, they don’t care for those settings. Your em/% solution is only to make you feel like you’ve found a solution and be happy about it.

All these em/% solutions are cute, but nowhere NEAR as useful… for the majority of your users. For them, em/%, pt, px, it makes no difference. Zoom is a must.