Tag Archives: drupal

"off-left" convention is bad news for RTL

[This post presents a web designers technical problem, in which a hack for improved accessibility damages RTLability]

This weekend I tried to debug an annoying problem in Drupal's Acquia Marina theme on RTL mode, in which a horizontal scroll bar appears with no good reason (layout doesn't scale horizontally).

I turned to monkey HTML debugging, a term I just invented for removing element-by-element until getting to a super simple HTML file which reproduces the bug.

Eventually the one to blame was an element placed at "left: -999em" absolute position,  a far place horizontally, and triggered the scroll bar to appear (on FF and IE, not on Chrome). When on LTR mode, it didn't, and things work perfectly. This setting aims to simply hide the drop-down menu when mouse is not hovering above it.

Q: Why don't they use CSS display:none, which seems to make more sense than hiding things off the screen?

A: looks like it has to do with screen readers (as this article suggests), which are apparently not aware of display:none text but are aware of off-screen text. A little puzzling. I suspect that it's too old info, for it seems to be written on 2003. I wonder if new screen readers have this problems as well, and whether the reason for using off-left is not just an ancient myth.

The problem with RTL

When placing things off-left (e.g. left: -999px) on LTR mode, all browsers do NOT widen the page horizontally. It makes sense - the page goes from left to right, not from left to even-more left.

However, when on RTL mode, left: -999px does widen the page horizontally to the right (and the off-left element is actually visible when scrolling there), which is a very unwanted effects.

Here's a related drupal discussion about the problem and possible solutions.  The problem seems broader than just acquia marina .

Continue reading

Playing with Drupal

I've been looking for a FOSS CMS, and chose Drupal (v6.5) due to the good feedback.

I'll try to sum up the experiment shortly:

Disclaimer: I'm a new Drupal user and I might've missed many important features or misunderstood some. Please comment if you disagree with stuff I wrote below. Also, I'm not familiar with other CMS other than MediaWiki and WordPress.

The good

  • Flexibility:
    • a very flexible menus system; easily create "boxes" and set their location.
    • With some web development skills there are hardly any limits: raw html+javscript can be used in pages!
      and, of course, everything (themes + modules + core) is open source and can be modified as a last resort.
  • Modules: lots of modules that do anything and integrate drupal with other software (i.e. the gallery module). Drupal is very modular and even basic things are actually modules.
  • User roles, access: a mature user-access system. Admin can fine-tune users' permissions.
  • Integrated right to left: enabling the "Hebrew" language quickly loads an "rtl" CSS file (if supported by the theme; popular themes have it), thus enabling a fully RTL CMS.
  • Community: many answers to questions are available on the net.

The bad

  • Ease of use: installation was quick. Using the system for simple stuff (write pages, create menus) was really simple. But some other tasks were more complicated for first use, such as the Taxonomy (tagging) system, user roles system, protecting specific pages from anonymous users.
  • Modules: many modules haven't been ported to v6.x yet.
  • Rich text editor: by default Drupal has only a boring textarea as an editor. Some RTE modules are available out there. I tried TinyMCE which didn't work well with v6.x (still beta), and FCKEditor which is a bit too simple, but it works. Maybe I've missed some amazing editor?
  • Drupal as a blogging platform: after installing the right modules ("blogging" + some rich text editor) Drupal can be a fine blogging platform. Still, I find WordPress much more suited for blogging.

As a conclusion, I truly recommend Drupal for creating general purpose websites: both for simple and complex ones. For blogging-only needs, I find WordPress better and easier. Anyway, writing websites from scratch belongs to the past. I figured that out a bit late 🙂