MySQL and PHP Search

For the last two weeks I’ve been living an unusually isolated life. Specifically, one without a home internet connection.

Now that you’ve all finished gasping with shock, I’ll continue.

During this time, I’ve learned a lot about how much my normal life style (not just my work, which is naturally web based) is set around internet access. I retrieve almost all the information I normally need during the day through the internet. Restaurant menus, opening and closing times, phone numbers – all retrieved through internet search. If I have curiousity which I simply must satisfy, I’ll query Wikipedia.

But recently I’ve had to survive without that kind of access. I can still go off to cafes and restaurants and access free wireless service with some regularity, thankfully. This makes it at least possible for me to continue with my work. But it’s a lot more awkward.

At any rate, enough whining. Back to the topic at hand.

During this last few days, I’ve worked my through the code I use for a search engine with most of my PHP/MySQL web sites. I’ve documented it moderately thoroughly and written it up. However, lacking internet access, I haven’t really tested this version of it. Hopefully, there are no major mistakes!

If anybody happens to give it their time to look at, I hope you’ll drop me a line and let me know your thoughts. I’m particularly interested in hearing about anybody’s views about improving the security of the script, but will gladly accept comments on usability, functionality, etc.

 Tags:

Ajax Accessibility Revisited

Since this article has been linked to now by a number of sites, I thought I’d provide a link to the actual post I wrote on AJAX and accessibility, to which this post is a follow-up! And, if you’re interested in a more recent and extensive article, try Accessibility and Usability Issues with AJAX, from October of 2007.

The incredible flexibility provided by Ajax technologies is a big frustration to the accessible design community. Speaking for myself, I’d LOVE to feel comfortable using these powerful tools to create accessible tools. But the situation continues to be limiting.

The limitations are, as I believe I’ve mentioned, at least partially contained in the way screen readers handle JavaScript events. Most non-visual browsers can support certain elements of JavaScript. Others don’t work as expected or at all! Any event which occurs upon the press of a mouse button is likely to be seriously limited, for example.

Recently, James Edwards has published a great article on Ajax accessibility at SitePoint.com. This article investigates in depth the behaviors of various screen readers with Ajax driven responses.

It’s great information, and I can only hope that it’ll inspire the designers of screen reader technology to work forward and build new functionality! For now, it mostly confirms just how unusable Ajax technologies are today.

Tags:

Accessibility with AJAX – it’s coming, slowly but surely.

AJAX, or Asynchronous Javascript and XML, is one of the latest popular technologies to drop into a web developer’s bag of tricks. Although quite complicated to work with, the technique can provide an incredible variety of rich web application methods to work with. If you’ve ever visited any of the myriad "Web 2.0" applications, one common feature is the use of AJAX technologies.

The fundamental principle behind AJAX programming is that it works, as in the name, asynchronously. Most interactive web programming requires regular requests to a server. The general information flow is that you, the user, request a document. That document contains a form, where you fill in your information. You press submit, the page sends your information to the server, which does something with it such as signing you up for a mailing list, and then sends back a response – usually, an indication of success or failure.

In this process, every request requires a full refresh of the web page. However, AJAX works differently. Using the ability of Javascript to manipulate the DOM of a page (that is, edit page elements without refreshing) combined with the ability to make XML requests to the server, AJAX can send queries to the server and post the response to the web page without performing a page refresh.

For a web application, this is tremendous – although a server request may not actually be any faster than it was before, a programmer can now create a site which reacts to the information a user puts into the site instantaneously. Handling the server request no longer interrupts whatever the user is doing – they can continue working, reading, or moving ahead without having to wait each time for the page to refresh.

But! (And you knew there would be a but!) Accessibility and dynamic behavior have always had some significant conflicts. In a traditional format, a page refreshes and a user simply has to start reading from the beginning. Usually, at the beginning of the content section of the page, there will be a notice of what has happened – either "this section was not filled out" or "your submission was successful", or some response to that effect. Very easy to deal with from an accessibility point of view. AJAX changes all that. Suddenly, a dynamic site is updating areas all over the page without a refresh. How does a blind user know that anything has changed? To a visual user, you can see that a section of the page blanks out and refreshes. The content is now different. A blind user sees nothing, experiences no change.

This obvious issue with refreshing data is not the only accessibility concern with AJAX and DHTML. Thankfully, the new popularity of the AJAX technology family has spurred many large organizations to pioneer new methods of managing accessibility for dynamic technologies. Recently, the Mozilla Foundation teamed up with IBM to establish DHTML accessibility in Mozilla’s open-source browser, Firefox.
This accessibility is still rudimentary – but it’s definitely a start. The W3C has also begun to establish their own roadmap towards accessible dynamic content, having released their working draft on April 5th, 2006.

At this time, I will only employ AJAX in very limited circumstances – usually, for administrative backends where I can be certain that only a few specific people will have need to use it, and I can be assured that I will not be creating problems for others. However, the day may yet come when AJAX technologies are ready for truly accessible use.

 Tags:

Blogger and Accessibility

For quite a while now I’ve been using Blogger as my tool of choice for this blog and for other’s sites. I’ve never been very happy with this choice, as the tool has limited options (no organization by categories, for example) and also restricts the designer’s control over the database. Furthermore, tweaking Blogger to provide more-or-less standards-based code is a fair amount of work.

Yet, none of this has been quite sufficient for me to decide to switch. The one thing I do like about Blogger is the single-page template format. I don’t need to edit a bottom section, navigation include, top matter, and content template to put together a design – I can simply compose the design within my own usual text editor and then stick that into Blogger.

I’m not sure why I’ve been so resistant to multiple-page templates – perhaps I’m just too accustomed to developing in my own way, and identifying what some new CMS has decided to call their various includes is too frustrating! Regardless, this is one of my goals for the next few weeks – learn somebody else’s CMS. It’s about time that I delved into something like WordPress or b2evolution.

 Tags:

Making Accessibility Happen

It’s a common misapprehension that making an accessible website is expensive. Not exactly true – it’s more accurate to state that it’s expensive to make a website accessible. There is a subtle distinction between those two statements, but an important one.

The same is true in most issues regarding accessibility – it’s not significantly more expensive to make a building, a voting terminal, or a digital resource reasonably accessible from the beginning than it would be otherwise. However, it’s always significantly more expensive to retrofit your existing building to be accessible. You have to widen doorways, build ramps, replace bathroom fittings, etc. The same is true for a website – it’s not a simple matter to make a website accessible if it has previously been built in a less acceptable manner.

Part of what makes a website truly accessible is providing valuable, unique information embedded in the code. Writing alt tags which are descriptive and helpful, writing long descriptions of complex graphs and other visual aids, or providing meanings for acronyms and abbreviations. This is detailed work – and you can’t easily take shortcuts.

Automation is sometimes an incredibly valuable aid, but it’s too easy to perceive it as a solution. Making a website accessible takes time, patience, and attention to detail.

 Tags:

Perspectives from the Field

One of the challenges in accessible web design is getting feedback from actual users. I know relatively few individuals with low-vision who regularly use screen readers. I know only a few people with handheld web devices – and certainly not enough to cover the entire range of possibilities in that area. This challenge is one of the reasons that web accessibility is so closely tied to web standards. Since most of us can’t test our work "in the field," we have to rely on our intuition, logic, and the fact that a careful adherence to standards will keep us from straying too far from the path.

There are a few places to go for valuable perspectives on these issues. First, and the most commonly used, for me, is the web design community. Interacting with other designers who are struggling with the same issues can provide valuable insights into potential problems which you yourself may not have considered. I belong to one major web forum, Cre8asite Forums, where discussions of standards and device compatibility have provided a lot of help. I’m also a member of the Guild of Accessible Web Designers, an organization committed to accessible web design. This highly focused group regularly considers the complexities of accessibility.

A second option is web accessibility testing. Disregarding the standard testing services for accessibility, Cynthia, WebXACT, and others, there are organizations such as Usability Exchange, a company which provides testing by actual disabled end users, giving you some of the best information you can get. The downside? It’s not free. And it never will be, I imagine. Still, for larger-budget projects it can be a hugely benefical step.

The third choice, is to read about the experiences of disabled users. It can be difficult to find this kind of information outside of lawsuits and news articles. These resources, though valuable, tend not to contain anything more than can be found in any number of online accessibility sources. Recently I’ve become aware of two blogs which can provide good insight: the American Foundation for the Blind and Blind Confidential, the personal blog of Chris Hofstater – a blind programmer heavily involved with the JAWS screen reader. The AFB blog is very general, but sometimes can provide an interesting link or story. Chris Hofstater’s blog, on the other hand, can sometimes provide fantastic insight into the experiences of the blind.

There’s nothing more valuable in accessible web design than getting a good sense for the experiences and frustrations of an actual user. If you can gain insight into the practical difficulties of a website, you’ve made the strongest step towards resolving the accessibility problem.

 Tags:

Accessible Design for the Deaf

The most well-known and thoroughly discussed accessibility techniques make websites more accessible for the blind and partially-sighted. After that, the discussion usually strays into mobile devices or learning disabilities. The deaf tend to get much less attention.

One might imagine that the deaf don’t really suffer from web accessibility problems. They can see the images, use a mouse, navigate the site just fine. Right?

Well, it depends. Those who are deaf from birth may not actually read written english very well. It’s not that they are illiterate – it’s simply that they have learned sign language as their first language. Sign language appears in many forms – British Sign Language, American Sign Language or Gestuno, the International Sign Language amongst many others. Each sign language has its own characteristics of grammar and interpretation, and they don’t necessarily correspond to the so-called "native language" of the signer.

But making a website accessible to this level is very difficult. It’s a lot of work, and it’s expensive. Sign language requires human sign interpreters – for a website, the production of a video which conveys the text. Creating alternate forms of content is a constant task for most websites. The thought of creating a new video everytime you edit your text is enormous!

There’s a sign-language services company, SignPost, which is working on producing signed video for websites. Their CEO was interviewed
on vnunet.com
discussing their aims with this new product. Their technique is a lower-bandwidth video to convey signed texts. The technique is fine, but the expense and challenge may well continue to act as a significant barrier.

Accessibility for the deaf is clearly a bigger problem than that for the blind – until we can design a tool which performs an equivalent task to a screen reader for the deaf, it’s unlikely that sites will really become fully accessible.

Nonetheless, there are basic things we can do to assist. The same techniques which are used to help the learning disabled can help the deaf (or the illiterate!) – graphic indicators to show purpose and other visual aids can support their understanding of the material. The simplest aid can be providing an option for the deaf to specify their use of a TDD (also known as TTY) phone. This simple option added to a contact form can greatly help the deaf in making human contact through the web.

 Tags:

Return to Top