Mambo Musings

Team talk about the Mambo CMS and developing open source software

Posts Tagged ‘Accessibility’

Mambo 4.7 and its affect on templates

Posted by Elpie on May 23, 2007

As Mambo 4.7 gets closer to release, its worth having a chat about what this means for existing Mambo web sites.

4.7 marks the first step on the road to making Mambo an accessible CMS. As previously discussed, Mambo is approaching this in two phases. Let’s take a look at what this first stage means.

When development first started on Mambo in 2000, there was only one standards-compliant browser – the late, great IE5 for Mac. All others used proprietary code and site designers had to kludge their way around the various browser quirks. In software design little, if any, consideration was given to the separation of logic and presentation. PHP itself was often referred to as not just a programming language, but also a method of presentation.

So, Mambo developed with its presentation logic intertwined with source code. Worse yet, from a template development point of view, the code that was used right throughout the Mambo source code was HTML 4.0 Transitional.

While the programming code of Mambo has improved over the years, the HTML was so deeply embedded into almost every file that developers were reluctant to change this. Making such a change requires not just a commitment to a great deal of work in refactoring the code, but also acknowledgement that there is no way to achieve this without breaking backward compatibility with existing templates.

It is far easier to write an accessible CMS from scratch than it is to take legacy code that has been under development for seven years and refactor it for accessibility. It is for that reason Mambo is undertaking the work in two stages. Frontend (the template design and visitor experience) first, to allow site owners to take advantage of the improved web standards compliance in modern browsers and all the features they offer to site designers, and later we will be producing an accessible backend.

4.7 will be introducing some features to the backend (administrator) functionality and I will talk more about those as we get closer to release. However, the most significant change from a site design perspective is that the XHTML code within the core files is valid, and styling is left to the site designer. All unnecessary code is gone.

This means, that from 4.7 on, template designers can, if they wish, design a fully accessible template. Mambo’s output meets all WCAG Priority 1 and 2, and much of Priority 3. If you want to design a template that validates as XHTML1.1, you will be able to with 4.7.

How does this affect existing templates? Well, most existing templates will need to either be replaced or reworked. A large number of them use tables for layout and css workarounds. If that is how you want to design templates, well, I am not going to preach the benefits of designing to web standards. However, its worth considering that a standards-compliant template not only significantly reduces cross-browser rendering problems, but also can result in a significant saving in bandwidth while providing an improved visitor experience. In many countries, it is now law for sites to be accessible. 4.7 will allow you to comply with these laws. If you are still not convinced, then consider this – Google is the most active blind user on the Net. Anything that makes a site accessible has potential to improve SEO.

If this change in Mambo appeals to you and you wish to upgrade from an earlier version, you could start working now on changing your template or designing a new one. CSS becomes very important from 4.7 on, so if you are new to designing with valid XHTML and CSS, the time to start building your skills is now. Hop over to the Mambo forums – there is a sticky post in the Templates forum that lists some useful tools and resources. (http://forum.mambo-foundation.org/forumdisplay.php?f=75)

We want to make the transition as easy as possible for Mambo users and will be providing new templates with the 4.7 distro, one of which is designed to be a template tutorial to help you customise the provided Mambo template.

4.7 marks an exciting new release and new direction for Mambo. For the first time, Mambo users will have the opportunity to design sites however they please. If you have any questions about the direction we are taking, please ask them on the forums so all developers have an opportunity to respond.

Posted in Mambo, Mambo CMS | Tagged: , , , , , , , | 4 Comments »

Accessi-what?

Posted by vavroom on December 15, 2006

From the first time I started working with Mambo, I wished to see the CMS offer greater accessibility. Firstly, I wanted to see the pages put together by Mambo be accessible to visitors, and ideally the back end as well. That was back in 2003! After many tribulations, we’re finally getting closer to see this happens. But what does it mean to you, the user?

What I say here isn’t new, it’s been said before, by me and others. Some will think it’s been covered “ad nauseum”, but it is an important topic to discuss.

Some people think that when we talk about “accessibility”, we mean strictly “disability access”. But I prefer to think in terms of “universal access”. What’s good for screenreading software is good for search engine bots, among other things. It’s almost becoming cliché that “Google is the biggest blind user on the web” In other words, increased accessibility to a site means search engines are likely to have an easier time crawling your site and finding the content you want them to find.

But having an accessible site is not just about blind users, or search engines. It’s also about people using different technologies to surf the web. What good is a table-based, fixed 800px width design to someone coming to your site via a handheld device, or a cell phone? One may reasonably argue for a mobile version of the site, but short of designing that, you will go far by having a site that follows basic accessibility guidelines.

Or it might mean that a user stuck in a country that doesn’t actually have high speed access (such as Bali for example) turns off loading of images for casual surfing, as they don’t want to wait for “hours” loading each page.

So, yeah, let’s think about universal access, not just disability access. It is about your content being deliverable to everyone, regardless of impairment status or technology.

So Mambo is taking that route. We’ll give you a system that will be able deliver pages that meet WCAG 1.0 requirements, almost to AAA, given the right template design.

Why only the front end at this point? In an ideal world, we’d do the changes so the back and front would be fully accessible. But this isn’t an ideal world, we have limited resources, limited time, etc. So we’re taking things one chunk at a time. First, the front end, because realistically there is going to be more “bang for the buck” by having that accessible. More visitors and users need the front end to be accessible than site designers and content managers need the back end to be accessible. As a disability rights advocate, I hate to appear to exclude people, but we’re not actually saying “no it won’t happen”. We’re saying “have a bit of patience, see what we’re delivering next for the front end, and have patience”

And next, we will work on the back end, because I really want to be able to have my brothers and sisters with disabilities able to use the system, both to surf, and to manage sites.

Posted in Mambo, Mambo CMS, Open Source | Tagged: , | 3 Comments »