navigate site menu

Start learning with our library of video tutorials taught by experts. Get started

Web Accessibility Principles
Bruce Heavin

Web Accessibility Principles

with Zoe Gillenwater

 


Accessibility on the web has been an issue for over a decade, and it remains a crucial--but often overlooked--element of web design. Instructor Zoe Gillenwater explains the concept of accessibility as it applies to the web, and describes how it affects the audience. She also covers how to set up accessibility testing, and how to apply accessibility principles to new and existing sites using standards-compliant markup and CSS. Exercise files accompany the tutorials.
Topics include:
  • Understanding Flex programming languages

show more

author
Zoe Gillenwater
subject
Web, User Experience, Accessibility
level
Appropriate for all
duration
6h 10m
released
Oct 16, 2007

Share this course

Ready to join? get started


Keep up with news, tips, and latest courses.

submit Course details submit clicked more info

Please wait...

Search the closed captioning text for this course by entering the keyword you’d like to search, or browse the closed captioning text by selecting the chapter name below and choosing the video title you’d like to review.



Introduction
Welcome
00:00>> Hi, my name is Zoe Gillenwater.
00:02I'm a web designer and author, focusing on accessibility, CSS and other web standards development topics.
00:09I've worked in both the government and the private sector.
00:11And I'm part of the Adobe task force for the web standards project.
00:16We're going to be learning about web accessibility principles.
00:19We'll discuss what accessibility means, what the standards are and how you can meet or even exceed them.
00:25We'll go over how to set up your computer for testing the accessibility of your sites.
00:29And we'll build an example site throughout the title so you can learn how to incorporate accessibility techniques into your initial development.
00:37But we'll also talk about ways to convert or improve existing pages.
00:41I'll show you how to create accessible layouts, text, navigation elements, images, tables and forms, as well as how to style them with CSS,
00:50so you can successfully bound successibility with other site design requirements.
00:55We'll be using Dreamweaver throughout.
00:57But the principles and techniques shown can be done in any HTML editor.
Collapse this transcript
Using the exercise files
00:00>> If you are a premium member of the lynda.com online training library, or if you are watching this tutorial on a disk,
00:06you have access to the exercise files used throughout this title.
00:10The exercise files for this title are arranged by chapter and movie.
00:15Inside each chapter folder are a series of folders, one for each movie within the chapter.
00:20If you're watching the chapter from beginning to end, you can start in the starting folder within each chapter folder.
00:26It contains all of the files you need to work through the chapter.
00:30If you're going to watch various movies throughout different chapters, you can immediately jump to that movie's folder to find the starting file
00:39and associated files that you need to perform the exercises in that movie.
00:44If you are a monthly or annual subscriber to lynda.com, you don't have access to the exercise files,
00:49but you can file along with your own files using the steps that are described.
00:54Let's get started.
Collapse this transcript
1. Getting Started with Web Accessibility
What does accessibility mean?
00:01>> Before we talk about how to make your websites accessible, we need to give a definition of what accessibility actually is and what it isn't.
00:09Web accessibility is basically allowing people with disabilities to use the web.
00:14This includes all disabilities that would affect web access.
00:17For instance, visual disabilities, such as blindness, tunnel vision or even low vision;
00:23auditory disabilities, such as deafness and speech disabilities.
00:27Physical limitations can also affect use of the web, such as even arthritis or Parkinson's Disease; learning disabilities,
00:34such as dyslexia, and other cognitive and neurological disabilities.
00:39There are some concepts that web accessibility is frequently confused with.
00:43Accessibility overlaps with, but is not the same, as usability.
00:47Usability is designing web pages to be more effective, efficient and satisfying for all people.
00:53Accessibility addresses issues that put people with disabilities at a disadvantage when they're using the web.
00:59Accessibility is also not the same as device independence.
01:03This is the concept of designing websites so that they can be used with a wide variety of devices that have access to the web,
01:10including small screen devices, such as mobile phones and PDAs, and older browsers.
01:16However, improving the accessibility of your site will often improve how your site performs in terms
01:21of its usability and device independence at the same time.
01:25So don't worry too much about the semantics of what each term means.
01:29Rather, focus on putting features into your site that will help users make sense of it and navigate around whether
01:36or not those features are called accessibility or usability.
01:39Accessibility is also something that is relative.
01:42So there's some good news and bad news with that.
01:45The good news is there's no such thing as inaccessible.
01:48But that doesn't mean that you have no work to do because the bad news is there's no such thing as accessible either.
01:54While there's no such thing as an inaccessible page, there are pages or pieces of content
01:59that can be completely inaccessible to certain groups of people with disabilities.
02:04So basically, accessibility is a range.
02:07It's not possible to make everything accessible to everyone.
02:10But you can make content more accessible to more people.
02:14As we will talk about in later movies, there are different standards and guidelines available for web accessibility.
02:20Different standards can result in greater or less accessibility.
02:23Basically, your job is to maximize the number of people
02:26who can use the site while balancing other requirements for the site, such as funding or branding.
02:32Also remember that accessibility doesn't have to be a painful requirement that you're forced to add to your sites.
02:38It doesn't require much extra work when accessibility features are done as part of the initial development of the site.
02:43So make sure you plan for it upfront.
02:45This will be less expensive than fixing accessibility problems that are found later.
02:50If you already have pages that you've made and you need to make them compliant with accessibility guidelines,
02:56keep in mind that even small changes that you make can have a big impact on making them more accessible.
03:01Another myth about accessibility is that the sites that are accessible are simple, plain or ugly.
03:07This doesn't have to be the case, though, if you keep in mind the concept of progressive enhancement.
03:12This means starting out with a solid structure of content that can be accessed by a wide variety of devices and people and then adding on layers
03:20of style and functionality for those that can use it.
03:23There are a number of websites that illustrate how attractive accessible web design can be.
03:28Three of these sites are listed here.
03:30If you want to pause the movie at this point to write down the URLs, this would be a good time to do so before we look at these actual pages.
03:38These three sites are examples of sites that collect screen shots of other great looking websites to use
03:43as inspiration when you are creating your own design.
03:46This first site is at http://accesssites.org/site/category/showcase.
03:55Accesssites.org not only shows you screen shots of the websites that it features that are accessible, but also attractive,
04:02and includes a write-up of each of these sites, detailing what features are accessible in each one.
04:09We can scroll down the page to view the beginning of each of these articles about each site.
04:14The name of the site is given.
04:16A screen shot is provided.
04:17And you can continue reading the article to view all of the comments on its accessibility features.
04:23Let's switch over to another site now.
04:25This site is at www.cssliquid.com.
04:30This site is dedicated to showing websites that are made with CSS and include a liquid type of design,
04:37which we'll talk about how to make in a later movie.
04:40This type of layout is often more accessible.
04:43Although CSS, by itself, does not guarantee that a website will be accessible, it is a great tool down that path.
04:50If we scroll down the page here, we'll see the latest three screen shots of sites that have been added to the gallery.
04:57You can click on any of these screen shots to go to the website that is featured.
05:02Now let's look at the third site.
05:04This site is at www.cssbeauty.com.
05:07Again, this site showcases web designs that are made with CSS.
05:12These designs are shown in screen shots in this third column of the page.
05:16A great feature of this website is the news articles that are listed on the left side of the page.
05:23You can use these articles to learn more about how to create CSS-based designs, such as the ones you see in this site.
05:29So in this movie, we've learned what web accessibility is, some of the types of disabilities that it's meant to address,
05:36and seen some examples of websites that can offer you inspiration when making your own accessible designs.
05:42In the next video, we'll learn more about the people who are affected by web accessibility and the benefits
05:47that it can give them when they are browsing the web.
Collapse this transcript
How does accessibility help your users?
00:01>> Now let's look at how accessibility helps real people.
00:04The web is a really great tool for people with disabilities because for many of them, it can truly enrich
00:10and change their lives, being able to function independently.
00:13Web accessibility is essential for equal opportunity.
00:17The web is increasingly used in all areas of society as part of daily life.
00:21And it's sometimes completely replacing traditional resources provided by the government, education, news, healthcare.
00:30And having access to this information on the web is a great tool for people with disabilities.
00:35It can provide them more access to information than they had access to before.
00:40For example, information that could only be obtained by physically going to the library and reading a book printed in Braille can now be accessed
00:48by blind or otherwise disabled people in their own homes.
00:51So that might be something that may have been impossible for them to read before that now they have access to.
00:58The web can also provide people with disabilities more opportunity for interaction.
01:03They can meet other people and form relationships on the web.
01:07The web also gives them more opportunities for different types of jobs.
01:11And they can participate more fully in society, even contributing their own content to the web.
01:16So by making your web pages accessible, you're making them usable without eyes, ears, motor control, perception of color,
01:25even a mouse, things that many people take for granted.
01:29It's helpful to get a sense of how people with disabilities access the web.
01:33Many people use special software or devices called assistive technology, which is often abbreviated to AT on accessibility websites.
01:42This includes screen readers and screen magnifiers for people who are blind or visually impaired.
01:47Refreshable Braille displays for use by people who are both blind and deaf, captioning software can be used
01:53by people who are deaf to access multimedia presentations.
01:57Voice recognition software, switches, pointer sticks and touch screens are all tools that can be used
02:03by people with motor impairments who cannot use a mouse.
02:07But many people use the same technology that others use, but just in a different way.
02:12For instance, many people may use the keyboard to navigate around their operating system or browser instead of a mouse.
02:19They may customize their browser or their whole system font size to make it easier for them to read.
02:25They can also adjust their browser window size, their color settings, even set up their own style sheets
02:30to make things easier for them to read, understand and use.
02:35Changes that you make for accessibility can also help people who don't use any of this technology and who aren't disabled.
02:42Usually, the changes that you make for accessibility are completely transparent to those who don't need them.
02:48But they can also be helpful to other groups, particularly people who are older, who use small screen devices, like mobile phones and PDAs,
02:56who use old or slow devices or computers, people who have low fluency or literacy in a particular language,
03:03or even people who are just relatively unfamiliar with using the web.
03:07All of these groups of people can benefit from the changes that you make for accessibility.
03:13In later movies, we'll discuss each of the specific benefits of the techniques that we go over as we cover it.
03:19In the next movie, let's look at an inaccessible and an accessible version of the same web page to get a sense
03:25for how a person with a disability might experience that page.
Collapse this transcript
Experiencing a website via a screen reader
00:01>> Let's look at how someone using a screen reader would experience a web page that is inaccessible and the improvements
00:07that can be made when accessibility features are added.
00:10We are at the W3C's web accessibility initiative website at www.w3.org/wai/eo/2005/demo.
00:23On this page are a series of links to inaccessible web pages as well as links to the same web pages with accessibility features added.
00:32But for now, I just want you to sit back and get a sense of the experience of having a disability and using a screen reader to access a web page.
00:40Let's scroll down the page, and underneath the heading demonstration contents are the listing of pages that we can look at.
00:47I'm going to go to the Inaccessible Homepage link.
00:50This is a fairly common type of website that you may find.
00:53It has a logo on the top left corner identifying the name of the site that we can immediately see.
00:59This is also evident in this large heading text in the middle of the page.
01:03We can quickly get a sense of what the sections of the website are by looking in the left-hand column
01:09at the four links listed; home, news, tickets and survey.
01:14And we can see what the main stories on the website are in this middle column with these three headings: Heat wave link to temperatures,
01:24Man gets nine months in violin case, and Lack of brains hinders research.
01:29Another thing that we can view on this web page, if we scroll down, is some brief text about each of these stories
01:38and a link that says More that we can click on to read the full story.
01:42Now we're going to look at this web page with a screen reader.
01:45And I would like you to pay attention to these same parts of the web page that I have pointed out
01:50and see how the screen reader reads this and the information that it gives to the user.
01:55(Start Screenreader)
01:55>> Jaws 40 minute loads dot dot colon colon city lights colon colon colon dot dot dot dash Mozilla Firefox combo box
02:03to left's click menu dash dash greater traffic colon construction work on main road to date colon Monday 03 September 2007.
02:12Sunny 23 degrees see traffic colon construction work on main road to date colon Monday 03 September 2007.
02:20Sunny 23 degrees see link graphic pics slash nav underline mouse over.
02:25Link graphic pics slash NAV underline news on mouse over link graphic pics slash NAV underline fax on those
02:31over link graphic pics slash NAV underline survey on mouse over welcome to city lights.
02:36City lights is the new portal for visitors and residents.
02:38Find out what's on book tickets.
02:40Tell us what's good and what's not.
02:42Get the latest news.
02:43Link heat wave link the temperatures.
02:45Link NAV gets nine months in violin case.
02:48Link lack of brains hinders research.
02:50After three years of efforts, city scientists now agree that the primary cause of the 2003 heat wave was hot air from our link graphic pics slash
02:58on mouse over mayor colon these kinds of crimes need more creative effective punishments.
03:04For example, we could require compulsory link graphic pics slash on mouse over brain.
03:09>> (End Screenreader).
03:10I've stopped the screen reader from finishing to the end of the page now that you've had a chance to hear it.
03:15Let's now look at the same version of this page that is more accessible and listen for the differences in how the screen reader reads it.
03:22I scroll to the top.
03:23There's a link to the accessible version of this same page, Accessible Homepage.
03:28>> Accessible homepage link.
03:30Welcome to city lights.
03:32Traffic colon construction work on main road to date colon Friday 27 January 2006.
03:38Sunny spells 23 degrees.
03:40See navigation menu colon.
03:42List of four items home link news.
03:44Link tickets.
03:45Link survey list and ten in level one.
03:48Welcome to city lights.
03:49City lights is the new portal for visitors and residents.
03:52Find out what's on book tickets.
03:53Tell us what's good and what's not.
03:55Get the latest news.
03:56Head in level two link heat wave link to temperatures graphic man with giant head after three years of efforts,
04:02city scientists now agree that the primary cause of the 2003 heat wave was hot air from dot dot dot link heat wave dash.
04:09Link full story head in level two.
04:11Link man gets nine months in violin case.
04:13Traffic A violin case open for inspection complete with violin mayor colon these kinds of crimes need more creative effective punishments.
04:21For example, we could require dot dot dot link violin case dash.
04:25Link full story head in level two.
04:27Link lack of brains hinders research traffic A brain.
04:30>> So as you can see on this web page, it looks almost exactly as it did before,
04:35but you heard a number of changes in how the screen reader read the page.
04:38First of all, when it read the navigation bar on the left side, it didn't read extra information about each of the images.
04:46But instead, said link home link news link tickets link survey.
04:52It also announced how many links were about to be read before it began reading them.
04:57Another change that you probably noticed was that it read each of the three headings, then read the caption below the picture.
05:05These small changes made the information on the page clearer.
05:08And it also took less time for the screen reader to get to the important information.
05:13It had less unnecessary characters and images to read through before it could tell the user what the names of the links were,
05:20what the names of the stories were and how to get more information on the site.
05:24So this is just one example of how small changes on a website can make a big difference in the experience
05:30of browsing a website and using it to get information.
05:34Hopefully this shows you the great benefits that can come from accessibility to your users.
05:38There's also great benefits from accessibility for you and for your clients.
05:43We'll talk about those benefits next.
Collapse this transcript
How does accessibility help you and your clients?
00:01>> We've talked about how web accessibility helps people with disabilities.
00:05But it also has a lot of benefits for you and your clients.
00:08I've grouped together these benefits for you, the web designer, with that of your client or employer, because they really go hand in hand.
00:15The things that make your work easier and more effective usually benefit your client as well, as vice versa.
00:22You can look at web accessibility with a negative or a positive attitude.
00:26One of the negative ways of looking at it is that you should do it
00:29because you can avoid being accused of discrimination against people with disabilities.
00:35So you do it because you have to comply with anti-discrimination laws, you want to avoid lawsuits, and this can even apply to private companies.
00:44But you can also look at accessibility in a positive light.
00:46For one thing, it can promote the image of your company as being socially responsible.
00:52There can also be financial incentives to making your web pages more accessible.
00:56By allowing your web pages to be accessed by more people, you're increasing your user or customer base.
01:02That can mean more sales or funding for your organization.
01:06Changes that you make for accessibility also usually make your pages easier to maintain, update and redesign.
01:12That means it's less time that you have to spend doing tedious maintenance work.
01:16And it's less hours that your client has to pay you for.
01:19Pages that are accessible often work better on a wider variety of devices.
01:24Again, less time debugging for you, less frustration, more time to work on the fun stuff of web design.
01:29And again, less time that the client has to pay you for.
01:32Accessible web pages have very streamlined page markup.
01:36That decreases the file size, which means there's less bandwidth for your client to pay for on their web servers.
01:41It also makes your pages load faster so you can have happier, more satisfied users and customers.
01:47Again, that could translate into a financial incentive for your client.
01:51These streamlined pages also have better search engine results.
01:56With less markup, you're increasing your keyword density and also the waiting of your keywords.
02:01Also, when you use semantic markup, as we'll explain in a later movie, you're adding more keywords to the page.
02:08So again, you're increasing your keyword density.
02:11Keyword density is simply a measure of how many keywords are on your page versus all of the other code and things that make up your page.
02:19Another reason to learn and use website accessibility techniques is that it can improve your competitiveness.
02:27It can be a selling point for you as a web designer as another skill added to your skill set.
02:32Web accessibility is one of the current best practices referred to as web standards.
02:37Web standards based design is very popular right now and can really create the impression that you're a high quality designer.
02:44It's another way to differentiate yourself from the competition when you're looking
02:48to get web design jobs, request for proposals listing their qualifications.
02:54It can also be a selling point for your organization when they're responding to requests for proposals.
02:59If you're applying for federal funding, it's required by law that you comply with web accessibility.
03:04Next, we'll talk about the standards in Section 508.
Collapse this transcript
Overview of Section 508 standards
00:01>> The web accessibility law in the U.S. is called Section 508.
00:05We'll go over the details of what each of its rules means and how to comply with it in our later movies.
00:11But first let's get a quick overview of what it's about.
00:13Section 508 is a U.S. accessibility standard that's mandated by law, part of the 1998 amendment to the rehabilitation act.
00:22Its rules apply to all federal agencies when they develop, procure, maintain or use electronic and information technology.
00:30The agencies must give disabled employees and members of the public access to information that is comparable to the access available to others.
00:38Subpart B of Section 508 deals specifically with web accessibility.
00:43And it's made up of 16 rules.
00:45The first says a text equivalent for every non-text element shall be provided, e.g. via alt, longdesc or in element content.
00:54This rule is related to images and the information that images provide.
00:58Its goal is to make the information and the images accessible to people who cannot see the images.
01:03In later movies, we'll talk about the methods for doing so that are briefly mentioned in this rule.
01:08The next rule is equivalent alternatives for any multimedia presentation shall be synchronized with the presentation.
01:15This rule pertains to captioning of multimedia presentations and making sure that they are accessible to people who have auditory problems.
01:23Rule C states web pages shall be designed so that all information conveyed with color is also available without color.
01:31For example, from context or markup.
01:33This rule benefits people who have colorblindness or other visual problems.
01:37Rule D, documents shall be organized so they are readable without requiring an associated style sheet.
01:43Throughout the movies in this title, we'll be talking about how to use CSS to style your pages.
01:49But we'll always make sure that the pages can be read without these styles.
01:53This is related to the idea of progressive enhancement that we talked about earlier.
01:57We'll create a base markup for the page that can be read by a variety of devices.
02:01Then we'll add the styles on top for those who can take advantage of them.
02:05Rule E, redundant text links shall be provided for each active region of a server's side image map.
02:12Currently, image maps are almost entirely client side.
02:15And we'll talk about how to make those image maps accessible later.
02:19Rule F talks about these client side image maps and says, client side image maps shall be provided instead of server side image maps,
02:26except where the regions cannot be defined with an available geometric shape.
02:30Rule G says row and column headers shall be identified for data tables.
02:35Tables often contain large amounts of complex information.
02:38And it's important for there to be markup that tells different browsers
02:41and other devices what pieces of data are related to other pieces in that table.
02:46Rule H states markup shall be used to associate data cells and header cells for data tables
02:52that have two or more logical levels of row or column headers.
02:55This is related to the previous rule.
02:57And again, we'll talk about it later in our movies on tables.
03:01Rule I says frame shall be titled with text that facilitates frame identification and navigation.
03:07Again, this is a rule that is somewhat out of date, as frames are rarely used in websites today.
03:13Rule J, pages shall be designed to avoid causing the screen to flicker with a frequency greater than 2 Hz and lower than 55 Hz.
03:21This is another rule that is somewhat out of date.
03:24It applies mostly to web pages that used to use the HTML tag blink.
03:29A text only page with equivalent information or functionality shall be provided to make a website comply with the provisions of this part.
03:38When compliance cannot be accomplished in any other way, the content of the text only page shall be updated whenever the primary page changes.
03:47This technique of creating the text only page has been very popular with some organizations when they're trying to make their websites accessible.
03:54However, it has a number of problems.
03:56And so we'll talk about those in a later movie.
03:59Rule L says when pages utilize scripting languages to display content or to create interface elements,
04:05the information provided by the script shall be identified with functional text that can be read by assistive technology.
04:12This rule is important if you're using JavaScript to create dynamic effects on the page.
04:17You want to make sure that they comply with the idea of progressive enhancement,
04:20that all of the information that the script provides to the user is also available without scripting.
04:26Rule M, when a web page requires that an applet, plug-in or other application be present on the client system to interpret page content,
04:34the page must provide a link to a plug-in or applet that complies with Rules A through L. N, when electronic forms are designed
04:42to be completed online, the form shall allow people using assistive technology to access the information,
04:48field elements and functionality required for completion and submission of the form, including all directions and cues.
04:55This is designed to make sure that people who are using assistive technology can fill out forms successfully.
05:01And we'll talk about those techniques in a later movie.
05:04Rule O, a method shall be provided that permits users to skip repetitive navigation links.
05:10Having to hear that same navigation read on every page can be a real problem.
05:14So we'll talk about how to create skip navigation links later.
05:17Rule P, when a timed response is required, the user shall be alerted and given sufficient time to indicate more time is required.
05:25This is another rule that applies to your scripting practices.
05:28So those are the 16 rules of Section 508 that all federal agencies and people who have federal funding must comply with.
05:37Again, we'll talk about the techniques and more of the details of what these rules are meant to accomplish in later movies.
05:44Next, we'll talk about another web accessibility standard called the web content accessibility guidelines.
Collapse this transcript
Overview of WCAG standards
00:01>> We just talked about the section 508 standards that are part of the US Federal Law,
00:05now we're going to talk about the Web Content Accessibility Guidelines.
00:10They're currently at version 1.0 and they are published by the Web Accessibility Initiative.
00:15This is part of the World Wide Web Consortium, or W3C, which is an organization that writes web standards such as the standards
00:23for HTML, CSS, and other languages used in web sites.
00:27You can view all of the details of WCAG 1.0 at www.W3.org/tr/wcag10.
00:39One thing to point out is that version 2.0 is currently in development, but it could be quite a while before that becomes a recommendation.
00:47Until that does become a recommendation, you should continue to follow the guidelines in 1.0, but you may want to look at WCAG 2.0 for ideas
00:54and to begin preparing for any changes that you might need to make once it becomes a recommendation.
01:00Most countries outside the US do not have their own standards, such as section 508, but instead rely on the standards that are part of WCAG.
01:09If you're in the US, you're not required to comply with these standards, however,
01:12doing so can really improve the accessibility of your page, versus just doing section 508.
01:18WCAG 1.0 is made up of 14 guidelines.
01:22Each of these guidelines contains on or more checkpoints that you can use to evaluate the web accessibility of your site.
01:29Then these checkpoints have a priority assigned to them of one, two or three.
01:33The priority one checkpoints are ones that you must satisfy,
01:37otherwise one or more groups will find it impossible to access the information on your page.
01:42Priority two checkpoints are ones that you should satisfy, otherwise one or more groups will find it difficult to access the information.
01:50Priority three checkpoints are ones that you may address, otherwise one or more groups will find it somewhat difficult to access the information.
01:58Not every checkpoint will apply to every web page, so it's not required for you to comply with all of them.
02:04However, the priority levels give you an idea of which ones will result in the greatest amount of accessibility for the greatest number of people.
02:12Now let's quickly go over these 14 guidelines.
02:15Again, there's more information contained in the individual checkpoints that make up these guidelines.
02:21We'll go over these checkpoints in more detail in later movies.
02:25The first guideline is to provide equivalent alternatives to auditory and visual content.
02:30This is similar to the section 508 rules that dealt with text equivalents for images as well as captioning for multimedia.
02:39Two is don't rely on color alone.
02:41Again, this is important for people who have color blindness problem.
02:45So make sure that they're able to access all of the information that you're presenting visually on your page.
02:51Guideline three says use markup and style sheets and do so properly.
02:56This is a pretty broad guideline that will pertain too many of the movies that we'll go over later.
03:01Four states clarify natural language usage.
03:04This just means that you need to make clear what language all of the text on your page is in so
03:09that different devices can present the text correctly to their users.
03:13Rule five says create tables that transform gracefully.
03:16This is related to the concept of progressive enhancement that we talked about before.
03:21It basically means that you want the information in tables to be able to be restructured in ways
03:26that will make it easier for different devices to read in the correct order.
03:30Guideline six says ensure that pages featuring new technologies transform gracefully.
03:35Again, you need to follow the concept of progressive enhancement making sure there's a base level of content that can be understood
03:42and then add new technologies and new features on top of that to enhance the experience for other people.
03:48Guideline seven says ensure user control of time sensitive content changes.
03:53You want to make sure that anything on the page that is dependent on a time limit,
03:57such as filling out a form, can be completed successfully by your users.
04:01Guideline eight says ensure direct accessibility of embedded user interfaces.
04:07This applies to multimedia and other technologies that you can embed inside a webpage.
04:13Nine, design for device independence.
04:15Because there are so many types of technology and devices that are used by people with disabilities as well as people without disabilities,
04:23you need to incorporate techniques into your page that will allow the greatest number of them to have access to your content.
04:29Guideline ten says use interim solutions.
04:32This is addressing the challenge faced by many web developers when they're trying to make their web pages more accessible.
04:38Sometimes, a barrier in accessibility doesn't currently have a great solution provided by it because of technological limitations.
04:46However, there are frequently things that you can do as stop gap measures in the mean time.
04:51Eleven says use W3C technologies and guidelines.
04:55Again, the W3C is a web standards organization.
04:59Making sure that your web pages conform to current standards makes it more likely that they will be correctly viewed
05:05on a wider variety of devices and by a wider variety of people.
05:09And it also makes them more adaptable to the future.
05:12Guideline twelve says provide context and orientation information.
05:16This is related to providing information on the page so that users know where they are within a site or within a page and are able to use
05:24that information to be able to navigate the site and find what they are looking for.
05:29Thirteen says provide clear navigation mechanisms.
05:32This is related to the previous rule.
05:34Fourteen, ensure that documents are clear and simple.
05:37This guidelines pertains mainly to the text of your page, making sure that the content is understandable
05:44by people even with cognitive disabilities or learning problems.
05:48So these are the 14 guidelines of WCAG 1.0.
05:52Many of these guidelines, as well as those of section 508, are best met by adapting your HTML markup.
05:58We'll next talk about a method for markup that will help you meet many of these guidelines.
Collapse this transcript
Understanding consistency and semantic markup
00:01>> There are some general principles of accessibility that will be themes throughout this title.
00:05I wanted to go over them now so you can keep them in mind when you're developing any of the accessibility techniques that we'll later cover
00:12so that you can have a greater understanding of why we're choosing certain techniques and how they can help.
00:17So these principles that we're going to talk about are consistency, semantic markup and separation of content, presentation and behavior.
00:25So let's first talk about consistency.
00:28Consistency is actually mentioned in some of the guidelines of WCAG 1.0 and 2.0 as being important for accessibility.
00:35It's related to the fact that patterns help everyone understand information.
00:40If you're a sighted person, patterns that we create through consistency, either visually through our text, help everyone understand information.
00:48So it's important to be consistent in the techniques that you apply to your web pages.
00:53With web accessibility, there's not always a right or a best answer.
00:58So you'll often have to use your judgment to pick one.
01:01When you do that, make sure that you stick with it throughout your site.
01:04Even when sites have problems with accessibility, if those problems are consistent throughout the site, users can often recognize those patterns
01:13and figure out a way around them to make do in using the site.
01:17Another important theme of accessibility is that of semantic markup.
01:21Many of the techniques that we'll talk about are very dependent on markup because the information
01:26in the markup is what is accessed by assistive technology and provided to its users.
01:31Semantic markup is the method of writing XHTML or HTML markup where your mark what each piece of content is, not what it should look like.
01:41So, for example, you may have headings on your page, and you can mark them up with the HTML tags H1 through H6.
01:48Quotations should be marked up with block quote and so forth.
01:53Presentational tags, such as center, font or bold have been deprecated or removed from current web standards
01:59because they do not comply with the idea of semantic markup.
02:03Again, though, this is an area where there's not always a right answer as to which tag is perfect for which piece of content.
02:10So use your judgment and be consistent.
02:12Semantic markup is also related to the idea of separating content, presentation and behavior.
02:19This is where you use each web technology for its intended purpose.
02:22You use XHTML or HTML for marking up what content is.
02:28You use CSS for controlling the visual presentation and JavaScript for controlling the behavior of the content.
02:34Keeping each of these separated is what enables progressive enhancement.
02:38Each technology can take advantage of only the pieces that it needs to provide information
02:42to its users and make the web pages understandable to them.
02:46So we've learned what accessibility is, some of the people that it affects, and how it can help your users as well as yourself.
02:54In the next chapter, we'll set up an accessibility testing environment so that we can evaluate our web pages' accessibility as we build them.
Collapse this transcript
2. Setting Up an Accessibility Testing Environment
Understanding screen readers and accessibility tools
00:00>> In this chapter we are going to set up a number of tools that you can use to test the degree of accessibility of your pages.
00:06Some of these tools are actual software that people with disabilities use.
00:10Other tools aren't used by people with disabilities, but they attempt to emulate how a web page would look or work for certain disabilities.
00:17Finally, some are web pages or browser extensions that attempt to evaluate certain characteristics of your site
00:23or their compliance with official web accessibility guidelines.
00:26But with all of these remember that they are just tools.
00:29Nothing is going to replace testing with real people, because that's what web accessibility is about.
00:34It's about making web pages that are understandable to people.
00:37This is especially important to remember when you're using a screen reader as a testing tool.
00:42Using a screen reader to its full extent means browsing the web without a monitor or a mouse.
00:47So it's a very different experience from what most people are used to, even other assistive technology users.
00:53You don't use a screen reader every day as your only way of accessing the web, So even if you take the time to learn how to use it extensively,
01:01you're not going use it like someone who has to use it, or has been using it for years.
01:05Because you're inevitably going to use a screen reader very differently from its real intended users, you can't rely on your own experience alone.
01:13It can be pretty overwhelming to listen to all of the information that a screen reader throws at you,
01:17so if you find your web page terribly confusing, don't assume you need to change it completely to make it accessible.
01:24It might be perfectly understandable to people who are used to hearing web pages read to them.
01:28So do continue to test with screen readers and other tools, but don't make big changes without first consulting people with disabilities.
01:35There are a number of places that you can look for people to test your pages.
01:39You can look for organizations for specific disabilities or across disabilities.
01:43Even national organizations may have regional contacts who could put you in touch with people in your area who have disabilities.
01:50Also, most colleges and universities have programs for students with disabilities.
01:54So if you have a college or a university in your area you could consider contacting them to get
01:58in touch with students who that might be able to help you.
02:01You may also have local disability-related support groups in your area, or local government rehabilitation
02:07or disability services departments that you could contact.
02:10You may also want to contact senior organizations and local senior centers as well as independent living organizations to talk to older users.
02:17You can also look on line for help.
02:19There are a number of web sites where you can get accessibility reviews from both experts in the field as well as people with disabilities.
02:26Three of these web sites are listed on the screen.
02:28You may want to pause the movie at this time to write down the URLs.
02:31Let's look at these sites.
02:34The first site that we are at is accessabilityforum.com.
02:38This site contains a number of forums that you can subscribe to or read without subscribing to find out information about web accessibility.
02:45Most of the users on this forum are not people are disabilities, but there are some here that can help you, as well as many experts in the field.
02:52The first form listed on the page is called Site Building and Testing.
02:56This is where the majority of the questions to this forum are posted.
02:59Let's click on that link.
03:01And you can see a listing of topics that have been posted recently.
03:05Many of them are technical in nature, so it's a good place to ask questions
03:09about specific web development techniques and post your URL for people to evaluate.
03:14Let's go to the next site now.
03:16We are now at Web Aim, the URL is www.webaim.org/community.
03:23Web Aim is a non-profit organization within Utah State University that provides training
03:28and consulting, as well as other web accessibility services.
03:31Their web site has many resources for web developers posted that can help you with technical issues surrounding web accessibility.
03:37On the community page that we are on, they have links to a form as well as a mailing list.
03:42If we scroll down the page you can see under the heading Web Accessibility Forums, there's a link that says View or Join the web accessibility forums.
03:52We click there.
03:53Again, you can see a number of forums where you can post technical issues and ask for site reviews.
03:59Click Back now.
04:00And scroll further down the page to where it says E-mail Discussion List.
04:09This provides the same sort of help as a forum, but in a different format.
04:13So if you prefer getting messages by e-mail you may want to subscribe to this list instead of a forum.
04:18As with the Accessify forum, most of the users of this list are not people with disabilities, but there are some there that can help you.
04:24And it may also be a source for you to talk to other web developers and see if they can put you in touch with their own testing contacts.
04:31Now let's go to the third web site.
04:36We are at lists.w3.org/archives/public/w3c-wai-ig.
04:43This is a mailing list for the Web Accessibility Initiative interest group.
04:50At the top of the page are some informational links about the list.
04:56This green link that says Subscribe to This List is where you would click if you wanted to subscribe.
05:00You can also view messages without subscribing by using the search box or by choosing a period that the messages appeared in.
05:08You can choose to view the messages by thread, by author, or by subject.
05:13Let's click on by thread in the July to September 2007 period.
05:21You'll see the names of the e-mail messages, who posted them, and when.
05:25And they will be organized in a thread view so you can start at the top of the thread and read all of the successive messages.
05:31The content in this mailing list is geared towards people who are very involved with the web accessibility initiative in terms
05:38of developing new standards and evaluating those that exist.
05:41So it's a bit more technical or theoretical than the other two sites that we looked at.
05:45But if you really get involved in web accessibility, it's a great way to keep up with what is currently going on in the field.
05:51So we've learned that accessibility testing is most valuable when it's performed by people with disabilities,
05:56and we've talked about some of the ways that you can get help from real people.
06:00Now let's look at tools that you can download or bookmark to setup your computer for when you want to test pages quickly by yourself.
06:06Next we'll look at free browsers you can download to help in your testing.
Collapse this transcript
Getting accessible browsers
00:00>> The first tools that we're going to use for accessibility testing are two free browsers.
00:05The first is Firefox.
00:06This is a good browser to download and use for web site testing because it is highly standard compliant and also has a number of extensions available
00:14that you can use to customize the browser and add additional tools.
00:17In a later movie we'll download those tools, but first we need to download the browser.
00:21Go to www.mozilla.com/en-us.
00:25Click on the link that says Download Firefox Free.
00:29The link will download a Windows installer package if you are on Windows, and if you are on Mac it will detect this and install a Mac installer file.
00:37Simply click on this link, download the installer, and go through the installation process
00:41like you would for any other software program for your system.
00:44The next browser that we're going to download is Lynx.
00:47If you're on a Mac you can download it from apple.com/downloads/macosx/unix_open_source/lynxtextwebbrowser.html .
01:00There are two download buttons for the program, one at the top of the page and one at the bottom.
01:06Both of them install a downloader package you can run to install the program as you would others on your system.
01:13In order to run Lynx on Windows we first need to download a tool called Cygwin.
01:19The web site to download this tool is www.cygwin.com.
01:26Cygwin is a collection of tools that provide a Linux or Unix feel to Windows.
01:30Scroll down the page, and select the install or update now link.
01:36Click on the link and you will be asked to save a setup.exe file.
01:42Click on Save File and it will save the file.
01:45Then click on the Open link in your downloads window.
01:49When it asks if you want to open an executable file, click OK.
01:56You'll now be in the Cygwin setup installer screen.
01:59On the first screen, click Next.
02:02Next it will ask you if you want to install from the Internet.
02:05Keep that default selection, and click Next.
02:08Next , you need to choose a route install directory.
02:11Just go ahead and keep the default location at the root of your C drive.
02:15Also keep the default options under install for, and default text file type checked, then click Next.
02:21You'll next be asked to select the local package directory.
02:24Again, you can keep the default location, and click Next.
02:27On the next screen, keep direct connection selected and click Next.
02:32You'll next have to choose a download site to download the program from.
02:35You can choose any of these sites.
02:38I'm selecting ftp.planetmirror.com.
02:43Then hit Next.
02:51We now have a screen asking us what we want to install.
02:54Scroll down the list to the Web option.
03:00Click the plus sign next to Web.
03:04Scroll down further, and in the Package column, look for a listing that says Lynx, L-Y-N-X.
03:14Click on the circular arrow icon to the left of Skip.
03:17This selects this file to download.
03:20Then click Next.
03:22The installation process is now beginning.
03:24It's going take a while, so you may want to go get a bite to eat while this is happening.
03:29OK, now that Cygwin has finished installing, leave the options to create an icon on the desktop and an icon to the start menu checked and click finish.
03:37If we know minimize Firefox and close the downloads window.
03:44To launch Cygwin, go to your Start menu at your lower left-hand corner of your screen.
03:52Click on All Programs, and select Cygwin from the list.
03:59Then click on Cygwin bash shell.
04:02On a Mac you would get here by going to your finder, then applications, then utilities and selecting terminal.
04:09From that point on both of these programs would work the same.
04:12To navigate to a Web page type L-Y-N-X, a space, and then the URL of the Web page.
04:19We're going to go to lynda.com.
04:22Http://www.lynda.com.
04:29Then hit Enter or Return.
04:31Because this page is asking us to set a cookie, type Y to accept it.
04:38The lynda.com web site is now loaded.
04:40All of the text and links are still visible, but no images or styles are present.
04:45You can navigate between links by pressing the down arrow on your keyboard.
04:50You can go to previous links by pressing the up arrow.
04:53To jump down an entire page view, click the space bar, to activate a link, click on the down arrow to get to the link
05:01that you want, then click the right arrow to go to that page.
05:05To go back to the previous page hit the left arrow.
05:09When you want to go to a new web site, click "g" on your keyboard.
05:13You will be prompted to type in a new URL.
05:15I'm going type in http://www.w3.org.
05:24Now we're at a new Web page.
05:26So this gives you a sense of what it's like to browse with out images or styles, just in a text-only browser.
05:32Next we're going to look at the other browser we downloaded, Firefox, and how we can further customize it for accessibility testing.
Collapse this transcript
Customizing Firefox for accessibility testing
00:00>> Now that we've downloaded Firefox there are a number of extensions that you can add to it for testing the accessibility of your web sites.
00:07The four extensions that we are going to add are named Web Developer, Firefox Accessibility Extension, Fangs, and Color Contrast Analyzer.
00:16The URLs for the web sites where you can install these extensions are listed on the screen.
00:20You may want to pause the movie at this time to write them down.
00:23The Web Developer extension can be downloaded from chrispederick.com/work/web-developer.
00:36This extension adds a toolbar to Firefox with a number of tools that you can use
00:40for testing not only the accessibility of your web pages but other features as well.
00:44So download the extension, click on the Download for Firefox and Flock link.
00:50When you click on this link a yellow bar will appear at the top of your browser window that says Firefox prevented this site
00:58from asking you to install software on your computer.
01:01Click on the Edit Options button in this yellow bar.
01:03A dialogue box will come up listing the allowed sites that can install extensions to Firefox.
01:10The address of this web site will be listed and there is a button that says Allow.
01:14Click this button to add this web site to your list of allowed sites.
01:18The web site now shows up in the list of sites.
01:22So we can click the close button at the bottom of the dialogue box window.
01:26Now that we're able to install extensions from this site we can once again click on the link that says Download for Firefox/Flock.
01:34This time a dialogue box comes up saying "Software Installation" with the name of the extension.
01:41Click on the Install Now button.
01:46Firefox will download the extension and tell you that you need to restart to complete the installation.
01:51We have three more extensions that we're going to install before we restart, so close this box.
01:56Go to the next web site now, which is the web site for the Illinois Center for Information Technology Accessibility.
02:05The page that we're on is firefox.cita.uiuc.edu/index.php.
02:13This is the page for the Firefox Accessibility Extension that this organization offers.
02:19This extension was designed for people with disabilities but is also useful for web developers.
02:24It shares a lot of features with the other web developer extension that we just downloaded, but has some other accessibility features that we'll show.
02:31To install this extension go to the orange box on the right side of the page, and click on the link that says Install from extension web site.
02:43This will take you further down the page, and there's a link that says select the Mozilla Firefox Extension 1.0 installation link.
02:52Click on this link.
02:54Once again, a yellow bar will appear that prevents the download from this particular web site.
03:00Again, click on the Edit Options button.
03:03Click Allow, then Close.
03:06Then click on the Installation link again.
03:12Click on the Install Now button.
03:14And then close the add ons dialogue box once it has installed.
03:21Now let's go to the third web page.
03:23This is the web page for the Fangs extension.
03:27The URL is www.standards-schmandards.com/projects/Fangs.
03:38This extension emulates the text that a screen reader would read, but instead of putting it in an easy to read text format.
03:46To install this extension click on the link that says to install Fangs click here on the left side of the page.
03:54Once again, in the yellow bar that appears at the top of Firefox click on the Edit Options button.
04:01Click Allow, and then click Close.
04:05Then click on the Installation link again.
04:10Click on the Install Now button, and again close the Add-ons dialogue box once it has installed.
04:18Finally, let's go to the fourth web site.
04:22This is the page to download the Color Contrast Analyzer.
04:25The URL is juicystudio.com/article/color-contrast-analyzer-firefox/ extension.php.
04:35You would need to scroll down the page a bit to get to the link to download it.
04:41Under the heading that says Contents click on the Firefox Extension link.
04:47Then click on the link that says Download the Color Contrast Analyzer.
04:53Follow the steps again to allow the site to install extensions.
04:57Click on Edit Options, then click on Allow, then Close.
05:04Then click on the Color Contrast Analyzer link again.
05:09Click the Install Now button.
05:12And now that we have installed all four of these extensions we're ready to restart Firefox.
05:17So click the button in the Add-ons dialogue box that says Restart Firefox.
05:21It will warn you that you're about to close four tabs.
05:24Click Close Tabs.
05:26Now that these extensions have been installed you'll notice that there are two new toolbars at the top of the Firefox window.
05:36The first is the Web Developer toolbar.
05:39The next toolbar is the Web Accessibility toolbar.
05:42In the next movie we'll use these tools on a web page to see how they can help evaluate its accessibility
05:47and show us what problems exist and how we might be able to fix them.
Collapse this transcript
Using custom accessibility toolbars
00:00>> Now that we've installed these extensions for Firefox let's use them to test some pages.
00:05The first extension that we're going to test is the Web developer toolbar.
00:08Some of its features do not work for local pages, so we're going to test the page that we looked at in the previous chapter from the W3C.
00:16The web page that we're at is www.w3.org/wai/eo/2005/demo/before/index.
00:28Because some of the features in the Web Developer toolbar do not work for locally loaded pages make sure that you
00:33up load your pages to a testing server before using the extension.
00:37The Web Developer toolbar is the third toolbar underneath the URL bar.
00:43The first item on its left is a disable button.
00:46Click on this button to expose a menu with options of things that you can disable on the page.
00:52You can scroll down and choose disable JavaScript, and then check the all JavaScript option.
00:58This will turn off all JavaScript on the page so you can make sure that it is still useable without scripting enables.
01:04Another thing that's useful to turn off is CSS.
01:07Click on the CSS button on the web developer toolbar.
01:10Select the disable styles option, and then click on all styles.
01:15You'll see that the display of the page changes because CSS is no longer available.
01:24Some of the images have disappeared and the font formatting has changed.
01:28This is useful to make sure that your pages are still readable without styles applied.
01:34We can also turn off images.
01:38Click on the Images button, select Disable Images, and then select the All Images option.
01:45All images on the page are now displayed as if they were broken.
01:49The space is still referred for them, but they are not displayed.
01:52You may also want to see which images on a page lack all attributes, which we'll talk about on a later movie.
01:58For that, click on the Images button, scroll down to the Outline Images option, and select Images Without All Attributes.
02:09This will put a red border around all images that do not currently have an all attribute.
02:14You can also view the all attributes of image that's do have one using the Images menu.
02:20Click on Images again, and go to Display All Attributes.
02:24The all attributes will be listed in yellow boxes.
02:28This page has only a couple all attributes set.
02:31You can hover over the yellow box to see what the text is currently set to.
02:37You may also want to outline other elements on the page.
02:41There are a number of these options underneath the Outline menu.
02:44You can outline frames, headings, links, and so forth to make sure that you're marked up these pieces of content correctly.
02:51Underneath the Tools menu are links to validate your page against a number of W3C standards, as well as Section 508 accessibility rules.
02:59Let's select the Validate Section 508 option.
03:03This opens a new tab with the contents of a report from cynthiasays.com, a web site accessibility checker.
03:11You can see the full results of its test.
03:14On the left side it gives you a description of each Section 508 rule.
03:20On the right side it tells you whether you have passed or not.
03:26In this case, you can see that we have not passed for image elements because they do not have all attributes,
03:33as we saw with the outline feature that we used earlier.
03:38Now let's close this tab.
03:40Next, let's use some of the tools in the accessibility extension.
03:44This is the next toolbar down on the page.
03:47It contains many of the same tools that the Web Developer toolbar does, but there are some differences.
03:52For instance, when you click the navigation button you'll see a number of elements listed.
03:57Clicking on these items will bring up a list of each of these elements.
04:02Click on the Links option.
04:04This brings up a box showing all of the links on the page, what the text of the link is, and where it goes to.
04:10These navigation options in this extension are useful because screen readers have functions just like this.
04:16You can use this to see what a screen reader user might see in their own list of links and make sure that the text makes sense.
04:22We'll talk more about that in a later movie.
04:24Close this box and go to the Style button.
04:28Click that and choose high contrast view one.
04:31This changes the view of the page to make the text easier to read for visually impaired users.
04:36It makes the text large and changes its color.
04:40If we scroll down the page you can see that some of the text does not change.
04:47This is because the way the text has been coded does not allow for changes.
04:51This would show you that you would need to make changes to your CSS or other pieces of your page to make the text more changeable to user changes.
04:58Again, we'll talk about that in a later movie.
05:00The other two extensions we downloaded were Fangs, and the Color Contrast Analyzer.
05:05These do not show up as tool bars on Firefox, but these are available from the Context menu that appears
05:11when you right-click or on a Mac, Ctrl-click on the page.
05:14So that gives you an idea of some of the features available in the Web Developer and accessibility tool bars.
05:20In the next movie we'll look at how to use the other tools that we've downloaded, Fangs and the Color Contrast Analyzer.
Collapse this transcript
Using Fangs and the Color Contrast Analyzer
00:00>> In the last movie we used the Web Developer and accessibility toolbars to make some changes to this page.
00:06I've unchecked those options now so the page is back to its default view.
00:09Now we're going to use the Fangs and Color Contrast Analyzer extensions that we also downloaded.
00:14To use Fangs you can right-click for Windows or Ctrl click for Mac on the page to bring up a context menu.
00:23Scroll down to the last option which says View Fangs.
00:26Click on that, and a new window will open.
00:29In this case, the window is blank.
00:31It shows no text.
00:32This is a common problem when you first install the Fangs extension.
00:35Close this window.
00:41And we're going to go to the web page where we downloaded the Fangs extension.
00:46We're at www.standards-schmandards.com/projects/fangs/faq.
00:57The first question on this page asks about what to do when the output is blank, which is the problem we just experienced.
01:04What we need to do is change some preferences in Firefox is the about config screen.
01:10Open a new tab in Firefox and in the address bar type about:config and hit Enter or Return.
01:19A number of preferences are shown on the page.
01:21We need to add the two that were listed on the FAQ.
01:25Go back to the FAQ page.
01:28Select the first preference name, and use Ctrl C or Cmd C to copy that text.
01:35Also note that the value that we're going to set for this preference is E N. Go back to the about config tag
01:41and right-click or Ctrl click to bring up a context menu.
01:45Select New and then click on the String option.
01:49In the dialogue box that appears use Ctrl V or Cmd V to paste in the text that you copied from the FAQ page.
01:57Click OK, and the next dialogue box that says enter string value, type in E N. And click OK.
02:05Now we need to set the other preference.
02:07Go back to the FAQ page and select the name of the next preference.
02:13Use Ctrl C or Cmd C to copy it, and note that the value that we need to set is default.
02:20Go back to the about config tag, right-click or Ctrl click, select new, and select string.
02:28Use Ctrl V or Cmd V to paste in the preference name.
02:32Click OK, then in the next box type default and click OK.
02:41We can now close this tab as well as the tab for the FAQ.
02:49We're now back on the page we want to test.
02:52Once again, right-click on the page or Ctrl click on a Mac.
02:57Scroll down and select View Fangs.
03:01This time when the new window opens up you'll see that it's full of text.
03:05The text that is shown emulates what Jaws, a popular screen reader, would read out to its users.
03:11So it's not simply the text on the page but also additional information such as list of two items as we can see at the top of the page.
03:22There are also additional tabs to view a headings list, and in this case we can see that the page has no headings.
03:30We can also click on the third tab to see the links list.
03:34This will show us the text of all the links on the page.
03:37In a later movie we'll show how to use Jaws and why the headings list and the links list are so important.
03:42You can use Fangs to quickly see if you have headings marked up correctly, what your link text is,
03:47if it's understandable, and the order of the text output on the page.
03:51Close the Fangs window now.
03:58The next thing we want to analysis on this page is its color contrast using the extension that we downloaded.
04:04Right-click or Ctrl click on the page again, and select Color Contrast Analyzer.
04:10Then click on the All Test option.
04:13A new tab will open up showing the results of your test.
04:16It analyzing the text color and background color of all of the text elements on the page and lists them down the report.
04:23Any elements that do not pass WCAG guidelines will be highlighted in yellow.
04:27For instance, this first piece of text, which is yellow and red, is passing in the luminosity contrast ratio column.
04:36It also passes the difference in brightness test.
04:39But the last column on the page shows the difference in color results and states that it fails.
04:44We can scroll down the page to see all elements on the page, what their colors are, and whether they pass all three of these tests.
04:53So now we've seen a number of tools that we can use in Firefox to test different areas of our pages for their accessibility.
05:00Next we're going to look at some online tools that you can use as well.
Collapse this transcript
Accessibility tools to bookmark
00:00>> Now let's look at some accessibility tools that are online that you can bookmark and use for testing your pages.
00:06Four of these tools are listed on the screen with their URLs.
00:09You may want to pause the movie at this point to write them down and load them in your browser.
00:13I'm going to use the same page from the W3C that we've been testing in these four tools.
00:19The URL of it again is www.w3.org/wai/eo/2005/demo/before/index.
00:31Go to the address bar and hit Ctrl C or Cmd C to copy the URL.
00:39Then open up the first tool at the URL colorfilter.wickline.org.
00:45This tool asks you to put in an URL to a page and then choose a type of colorblindness to emulate on that page.
00:52Go down to the type URL box and hit Ctrl V or Cmd V to paste in the URL.
00:59In the Select box below you'll need to pick a type of color filter.
01:04The filters shown are different types of colorblindness.
01:06The two at the top, the red-green colorblindness are the most common.
01:10So you might want to start with testing those.
01:12I'm going choose protanopia.
01:15Then click the Fetch and Filter button.
01:17The tool will load the page with different colors to simulate this kind of colorblindness.
01:24It might take a few minutes for it to load all of the images since it has to remake them.
01:31You can see that the colors and the images have changed dramatically.
01:34The red and green from the images has basically been stripped out.
01:38This box on the right-hand side of the page allows you to choose different settings to test your page with different types of colorblindness.
01:45Let's go to the second tool now.
01:46Go to the URL www.vischeck.com/vischeck/vischeckimage.php.
01:56This is another tool for emulating different types of colorblindness, but with this tool you up load and image file to check.
02:04Go down to the image file box and click on the Browse button.
02:08If you're following along with the exercise filed, inside the Chapter Two folder is an image named coffee.
02:18Select that image and click Open.
02:22Now you can click on the run vis check button to change this image for how it would look for this chosen type of colorblindness.
02:35Once again it will take a few moments while the tool up loads the image and changes its colors.
02:40Let's scroll down the page to see the full image.
02:45You can see that with this type of colorblindness it's impossible to distinguish the different colors in these coffee beans.
02:53So for instance if you had a chart or another type of image where color was important and you're asking your users to choose something based
03:00on that color, it would be impossible for them to do so in those sorts of situations.
03:04The third tool that we're going to look at is at www.snook.ca/technical/color_contrast/color.html.
03:20This tool does the same thing that the Firefox extension we downloaded earlier does.
03:25It checks the contrast between the text color and its background color.
03:28The difference between this tool and the tool, however, is that this one allows you to quickly change the colors so that
03:34if you are failing a certain color contrast test you can quickly choose a new color and see if it passes.
03:41To change the colors, scroll down to either the foreground color or the background color box.
03:46I am going to change the background color.
03:48There are three sliders to change the red, green, and blue values.
03:52Click on the red slider and move it to the left.
03:55You'll see in the results box to the right the calculated brightness difference
03:59and color difference, and then whether or not these values are compliant.
04:03It will either say yes, no, or sort of.
04:05Sort of means that it only passes one of the two tests.
04:09Ideally, you would want it to say yes.
04:10So let's keep moving the slider to the left.
04:17Now it says no.
04:18So we definitely want to change these colors.
04:24Going all the way to the left has just made it worse.
04:27Let's slide this back to the right.
04:33We now have a value of yes, meaning we pass the color contrast test.
04:37The last tool is a readability test.
04:41It's online at juicystudio.com/services/readability.php.
04:48If you scroll a little ways down the page you'll see a form labeled test the readability of a web site.
04:54Here you can put in a URL and click the Calculate Readability button
04:58to have the tool measure how easy it is to read and understand the text on the page.
05:03Click inside the box, and once again hit Ctrl V or Cmd V to paste in the same URL that we used earlier.
05:12Then click on Calculate Readability.
05:14A report will come up showing you information about the text on the page you just checked.
05:19The three rows at the bottom of the table are the names of three tests.
05:23The Gunning Fog index and Flesh Kincaid Grade.
05:26Both assign you a number that corresponds with the grade level that this would be appropriate reading for.
05:31The flesh reading this under is between 1 and 100.
05:34Generally, you want to get a value between 60 and 70.
05:37So it looks like this page will be easy to read for a number of people.
05:41These are just a few online tools that you can bookmark and use for testing.
05:45Next we'll look at some other tools online that give you a more comprehensive analysis of the accessibility of your pages.
Collapse this transcript
Using automated accessibility checking tools
00:00>> We've looked at some tools that will allow you to analyze certain parts of your web site, or analyze them for certain disabilities.
00:07But now we're going to look at tools that will test your web site for their compliance with Section 508 or WCAG.
00:13For this we're going to continue to use the city lights page on the W3.org web site.
00:18Go to the address bar and select and copy the URL using Ctrl C or Cmd C. Then we're going to go to the Cynthia Says web site.
00:27The URL is www.cynthiasays.com.
00:31This is a very popular web site accessibility validator.
00:34If we scroll down the page we can see a form asking us for our web page.
00:43Click in that box, highlight over the default text and delete it, then use Ctrl V or Cmd V to paste in our URL.
00:51In the next field on the form we're asked to choose an accessibility report mode.
00:56Click on the drop down box and either choose Section 508 or WCAG priority 1, 1 and 2 , or 1, 2, and 3.
01:03We'll choose Section 508 for this test.
01:06The first check box listed does not apply to this test since we're not testing against WCAG standards.
01:12The next check box asks us if we want to include the alternative text quality report.
01:16This checks to make sure that your old text is not only present, but high quality.
01:20So check that box.
01:22You don't need to change anything for the emulate this browser option.
01:26So click Test Your Site.
01:27And the report will load.
01:32Each of the standards of Section 508 is tested.
01:35Let's scroll down the page and see how we did.
01:38The first 508 rule states a text equivalent for every non-text element shall be provided.
01:44Underneath the rule are listed all of the problems that we currently have complying with this rule.
01:48On the right-hand column that says passed, there are three sub columns labeled yes, no, and other.
01:54We have a no in this column, meaning we're not currently complying with this rule.
01:58In order to pass we would have to fix the failures that are listed in the main column.
02:04Continue to scroll down the page.
02:06The next test does not have a yes or no written, but instead an NA for not applicable.
02:13That's because this test is looking for equivalent alternatives for multimedia presentations,
02:18and the validator did not find any multimedia on this page.
02:22Continue to scroll down to get to the third row of the table.
02:27For this rule neither yes, no, or NA is filled in.
02:31This means that this rule has to be tested by a human of the there's no way for a machine to be able to tell if the color you're using
02:37on the page is conveying information or if it's just decoration.
02:41Any time you get a blank result such as here, it means that you need to do manual testing to make sure that you're complying.
02:47As we continue to scroll down the page you'll notice that a number of rows are blank.
02:53This illustrates what we talked about earlier, that it's very important to test your pages with people.
02:58No machine is going to be able to truly know if you complied with these standards and made your page accessible.
03:04Let's try another popular web accessibility validator.
03:09This one is located at www.webxact.com.
03:16On this page there's only one form field for us to fill out with our page URL.
03:20Highlight over the default text, delete it, and use Ctrl V or Cmd V to paste in the same URL we used before.
03:28Then click on the go button.
03:30This test, unlike Cynthia Says, includes information on a lot more than just accessibility of your page.
03:36In includes information such as the file size of the page, when it was last updated, it's meta data,
03:43and more information that doesn't necessarily have a bearing on accessibility.
03:48If we scroll back up the page, though, the third tab over on the left is named accessibility.
03:55Click on that tab, and you can see the details of our accessibility test.
04:00By default, this tool checks against WCAG 1.0, including priority 1, 2, and 3 check points.
04:06At the top of the page you have a summary of the number of errors as well as warning that are generated by the test.
04:12Warnings mean that your page has not failed but that there might be something there that you need to manually check.
04:17If we scroll down the page the priority 1 check points are listed first with their errors at the top and the warnings below.
04:27The number and the name of the check point are given, then you're told the number of times this error or warning has occurred,
04:33and finally line numbers where this error or warning is happening in your document so you know exactly where to go to fix the problems.
04:40Both of these tools are a good way to quickly check if you have all text on your images and other things that can be determined by a machine.
04:47But as you see there are many thing that's need to be determined by manual testing.
04:51Next we'll do some manual testing with the Jaws screen reader program.
Collapse this transcript
Setting up the JAWS screen reader on Windows
00:00>> In this movie we're going to install and use Jaws, a popular screen reader for Windows.
00:05If you're on a Mac this movie wouldn't apply to you, but in the next movie we'll go over a screen reader that comes built
00:11into Mac OS X. Jaws is a software program used by blind and visually impaired users to read off the screen to them.
00:18It's made by freedom scientific, so you can download it from their web site.
00:22We're at www.freedomscientific.com/fs_downloads/jaws.asp.
00:31Jaws is not a free program, but a free demo is offered that will run for 40 minutes at a time on your computer.
00:37After 40 minutes you'll need to restart in order to use Jaws again.
00:41But this demo version does have all of the same features that a full version has.
00:46Scroll down the page and look for the heading that says demonstration version of Jaws.
00:52Click on the free demo of Jaws link to download the installer.
00:59Click on the Save File button, and the downloader will begin installing.
01:03Once the installer file has finished downloading you'll see it on your desktop.
01:08Double-click on this file to open it and go through the installation process as you would for other programs on your computer.
01:14One thing that does differ with the Jaws installation is that you'll need to restart your computer early on during the install.
01:20After you've restarted Jaws will finish installing.
01:23Once Jaws has finished installing you'll have an icon for the program on your desktop.
01:27Double-click on it to begin the program.
01:29It will immediately begin reading the contents on your screen as well as some other information.
01:36>> Jaws, 40 minute mode, dialogue audio monitor, toolbar, 100%.
01:41To activate, press the space bar.
01:44>> Now we want Jaws to read a web page.
01:45So let's open Firefox.
01:47Go to the Start menu.
01:49>> Menu, start search edit.
01:51To move through items press up or down arrow.
01:53>> Control up in the Start menu.
01:56Go up and select Mozilla Firefox.
01:58>> Desktop, folder view, list view, now selected Jaws three of three.
02:02To move items use arrow keys.
02:05>> The web page that we want to test is part of the W3C's before and after pages.
02:10Go to the address bar and type in www.w --
02:17>> 3.org/wai/eo/2005cemo/after/index.
02:27Enter. Leaving menus.
02:28Welcome to city lights, welcome to city lights.
02:35100%.
02:38>> As you heard, Jaws read allow every key as I typed it.
02:44When the web page loaded it then read the title of the web page.
02:47In order to get Jaws to start reading the full contents of the page you'll use the keyboard shortcut insert, and the down arrow.
02:54This will make Jaws start reading from top to bottom on the page.
02:58To stop the speech at any time hit the Ctrl key.
03:01I am going to hit insert down arrow to start reading the page.
03:04>> Go button, traffic colon, construction work on main road today colon, Friday, 27 January, 2006.
03:12Sunny spells, 23 degrees, see navigation menu.
03:15Colon. List of four items, Home link News link tickets, visit link survey, level one welcome to city lights.
03:23>> Then I hit the Ctrl key to stop the speech.
03:26Jaws literally has dozens and dozens of keyboard short cuts.
03:29That's because a blind user will use the keyboard as their main way of navigating their operating system and browser.
03:35We're just going to look at a few of the keyboard short cuts that are useful when testing web pages.
03:40To bring up a list of headings in the page hit Insert and F6
03:44>> Adding list dialogue, adding list view.
03:47Welcome to city lights, colon, 1, 1 of 7.
03:50To move to item view use arrow keys.
03:52>> The heading list it one of the main navigation mechanisms that screen reader users take advantage of.
03:58Instead of having to listen to all of the content on the page read out at once, seeing the headings gives them a way
04:03to basically skim the page, just as a sighted user would do.
04:07The text of each heading as well as which level it is, is shown again so the user can get a sense of the structure and hierarchy of the page
04:14and decide what part they want to jump to and read the content of.
04:18You can use the arrow keys in this box to jump between headings.
04:21>> Heat wave linked to temperatures, colon 2.
04:23>> To select this heading and go to it on the page, hit Enter.
04:27>> Enter. Heat wave link to temperatures heading level two link.
04:30>> It will read the text of the heading.
04:32If you want it to continue reading from that point, again, hit Insert and the down arrow.
04:37Another way that Jaws users frequently navigate a web site is by looking at the list of links at the web site.
04:43You can bring this up by hitting Insert and F7.
04:46>> Link list dialogue, link list view, heat wave link to temperatures, (Inaudible) to move to item view use the arrow keys.
04:54>> The link that we are currently on is the one that is first read in this box.
04:58Again, you can use the arrow keys to move up and down between the links.
05:02>> Survey.
05:03>> Selecting the link reads out the text of that link, but not the URL.
05:06That's why it's important that your link text be clear on its own.
05:10We'll talk about that in greater detail later.
05:12If you hit Enter you'll be taken to that link.
05:15>> Enter.
05:16>> That will immediately take you to the new page.
05:18There are also keyboard shortcuts for jumping between different items on the page,
05:22such as from one heading to the next, from one list to the next, and so forth.
05:27Here are some of those keyboard short cuts that you'll probably use the most when using Jaws to test your web pages.
05:33The H key jumps you from heading to heading.
05:36U moves you to the next unvisited link, while V to the next visited link.
05:40N moves you to the next non-linked text.
05:42This is useful for screen reader users when there are a lot of links at the top of the page that they want to quickly get past.
05:48Hitting end will jump them to the next block of text that is not linked, which hopefully is the main content of the page.
05:55The L button moves to the next list, and F to the next form control.
05:59You can also type S to move to the next element that's of the same type that you're on now.
06:03For instance, if you're on a block quote and wanted to go to the next block quote you could hit S. D would do the same for a different type element.
06:11Finely, the Enter key as we saw activates links.
06:15These are just a few of the commands available in Jaws.
06:18It's a very complex program that has a steep learning curve.
06:21That's why it's so important to test your pages with real users of Jaws.
06:26However, using it yourself should give you an idea of what they might experience and should point you towards the main issues you'll want to fix.
06:33Next we're going to look at the voiceover screen reader on a Mac, and then we'll move on to setting Dreamweaver's accessibility preferences.
Collapse this transcript
Using the VoiceOver screen reader on Mac OS X
00:00>> Voiceover is screen reading software built into Mac OS X. It doesn't work quite like Jaws and other screen readers available on Windows,
00:08and it doesn't have most of the features that Jaws offers for reading and navigating web pages.
00:13But keep in mind that it is in its first release, while Jaws is currently at version 8.02.
00:18We'll be using Jaws for testing web pages throughout the rest of the title, as it is the most popular screen reader.
00:24But Voiceover is gaining in popularity and support, so it's worthwhile to get a feeling for how it works.
00:30Voiceover is most useful for navigating the Mac operating system, but it can read web pages when viewed in Safari.
00:37If you're following along with the exercise files, open the file index.html in Safari that's located in the Chapter Two folder of the exercise files.
00:47To start Voiceover, press Cmd and F5 on your keyboard.
00:51>> Voiceover on, Safari, Town of Wardscott window.
00:55Back, End button --
00:55>> To stop Voiceover from speaking at any point hit the Ctrl button on your keyboard.
01:01To begin navigating between items on the screen, to hear how Voiceover reads them,
01:06use the key combination Ctrl, option, and the right or left arrow.
01:10>> Forward button, reload button, Add Bookmark button.
01:14>> To navigate into the content area of the page continue to press Ctrl, option,
01:19and the right arrow until the content area of the page is selected with a black outline.
01:25>> File, slash, slash, slash, splinter.
01:27Blank, show Bookmark, Apple, Amazon, eBay, Yahoo button, news, 100 -- HTML content.
01:36>> If you'd like Voiceover to read all of the content within a highlighted area, you can press control, option,
01:41and A. I'm going to press those keys now to see how Voiceover will read this page.
01:47>> HTML content, image, image, image, image, image, image, image, image, image, image , image, image, image, image, image, news, July 2, 2008.
01:58Time to celebrate library's 70th anniversary.
02:02May 26, 2008.
02:05Council approves construction of community theater.
02:08May 24 --
02:09>> I've hit the control key to stop Voiceover from reading the page.
02:14I can then move manually between items on the page using Ctrl, option, and the right or left arrows.
02:21>> Police search for hit and run suspect.
02:25>> To move to the previous object, hit Ctrl, option, and the left arrow.
02:29>> May 24, 2008.
02:32>> There are basically two separate ways that Voiceover can read web pages.
02:36It can either read every item on the page individually, or it can group related items together to read.
02:42To change this preference open the Voiceover utility by pressing Ctrl, option, and F8.
02:49>> Opening Voiceover utility.
02:51Voiceover utility, Voiceover utility window, Verbosity selected Tab 1 of 5 --
02:55>> We can live to the second tab labeled navigation by pressing Ctrl, option, and the right arrow.
03:02>> Navigation, Tab 2 of 5
03:03>> To select that tab, press Ctrl, option, and the space bar.
03:08>> Navigation, selected Tab 1 of 5 --
03:11>> To move down in this screen press Ctrl, option, an the down arrow.
03:17>> Voiceover cursor moves newly loaded web page, check, check box.
03:22>> This first option specifies whether Voiceover should immediately begin reading a web page when it is first loaded.
03:29Move down to the next option again using Ctrl, option, and the down arrow.
03:33>> Two items in web pages on check, check box.
03:37>> To check this item, press Ctrl, option, space bar.
03:41>> Check two items in web pages.
03:44Check box.
03:45>> Now close the Voiceover utility using Cmd W.
03:49>> Safari Town of Wardscott window, May 24, 2008.
03:55>> Now let's see how Voiceover will group the items on the page.
03:58Press Ctrl, option and the left arrow.
04:00>> Group: The Wardscott Heritage Festival, one of our town's greatest events of the year is almost here.
04:09>> I press the Ctrl key to stop Voiceover from reading.
04:12As you can see, Voiceover does not always read the content on web pages in the order that you would expect.
04:18And it may negligent to read entire pieces of the page, especially with the group web pages option turned on.
04:24Don't worry too much about this when you're testing your pages.
04:27This is a problem on the software's end, not on the web page end.
04:31Still, if you're on a Mac, try using Voiceover in Safari for the experience and to see if you can fix any small issues that you hear.
04:38Voiceover does not have all of the short cuts to bring up lists of items on the page and jump between them.
04:44But you can bring up a list of links in the page and a list of items.
04:48To bring up the list of links hit Ctrl option U.
04:53>> Link Chooser menu, 11 items.
04:55>> You can then navigate between the links using up and down arrows on the keyboard.
05:01>> View more news releases, schedule of free performances, buy discount tickets to rides --
05:06>> Hit the Escape key to close the link chooser.
05:10>> Closing link chooser menu.
05:12>> To bring up the list of items, hit Ctrl option I on the keyboard.
05:17>> Building item, item chooser menu, 83 items.
05:21>> This is an alphabetical list of all of the controls and content on the page.
05:25Again, you can navigate between the items using the up and down arrows.
05:31>> and / and submitted blank / from the past year / have been implemented. (Reading aloud as Zoe scrolls down)
05:35>> To close the item chooser, hit the escape key.
05:39>> Closing item chooser menu.
05:41>> So although Voiceover does not have all of the features that Jaws on Windows offers,
05:45it's a good option to use for screen reader testing if you're on a Mac.
Collapse this transcript
Setting Dreamweaver accessibility preferences
00:00>> Before we start building web pages in Dreamweaver CS 3, there are a few accessibility preferences that we want to make sure are set.
00:07On Windows you can view these preferences by going to the Edit menu.
00:12On a Mac the preferences are available by going to the Dreamweaver menu and then selecting Preferences.
00:18At the very bottom of the Edit menu is the option for preferences.
00:25Select that to open the Preferences dialogue box.
00:28On the left are a list of categories of preferences.
00:31The second one from the top is accessibility.
00:34Click on that.
00:35There are four check boxes that say show attributes when inserting form objects, frames, media, and images.
00:42These are checked by default, but if you've changed your copy of Dreamweaver, you might want to go and make sure that they're still checked.
00:48These two check boxes further down the screen pertain to Dreamweaver's accessibility as a program itself,
00:54so changing these effects how the program would be used if you were using assistive technology.
00:59We're just concerned about the preferences that effect the code that is going to be written.
01:03Click OK to accept any changes you have made.
01:08To see what these preferences do, let's create a new page.
01:11Go to the File menu and select the first option, New, to bring up the New Document dialogue box.
01:18In the first column of the box click on Blank Page.
01:21In the page type column select HTML.
01:23In the layout column select none.
01:27Then hit Create.
01:29The four preferences that we set pertain to form objects, images, media, and frames.
01:35Let's look at inserting a form object to see how the preference effects it.
01:39Go to the insert result panel and select the forms tab.
01:43Click on the text field button.
01:47The input tag accessibility attributes dialogue box appears.
01:51Without that accessibility preference checked for form objects we would never see this box.
01:56What this box is asking for is a text label for our fields.
02:00These parameters are things that affect accessibility.
02:03By having that preference checked Dreamweaver gives you a reminder every time you insert one of those objects.
02:09We'll go over this in great detail in a later movie.
02:12For now we just wanted you to see the effect of turning the accessibility features on
02:16and make sure you have them set correctly as we begin to build our site in the next chapter.
Collapse this transcript
3. Creating Accessible Page Layouts
Avoiding tables for layout
00:00>> Traditionally, web designers have used HTML tables for defining the layout of the page.
00:05However, using tables for visual formatting not only violates the practice of separation of content and presentation that we talked about earlier,
00:13but also can provide problems for screen readers and text browsers who need to reflow The page in a linear way,
00:19as well as people who prefer to read web pages at very narrow width, such as people with tunnel vision or dyslexia.
00:27Screen readers method of reading table context is called linearization.
00:31They basically read from top to bottom and left to right.
00:34They start in the first row, read every cell in that row in order, and then move onto the second row and so on.
00:41If there's a nested table in any of the cells that whole nested table is read following the same order before moving onto the next cell.
00:48So the order the content appears in the source is the order that it will be read.
00:52To check your reading order, then, you just need to look at the source.
00:56But you can also use some of the tools that we went over earlier.
00:59You could use Jaws or another screen reader, of course, or you could use Lynx, a text browser,
01:03or the Firefox extension Fangs, which outputs a text version of your page.
01:08Let's look at a couple examples of simple tables to make sure we understand how they're going to linearize.
01:14If you're following along with the exercise files I have open Table1.html and Table2.html from the Chapter Three exercise files.
01:23Table1.html is a very simple table.
01:26In this table the first cell that would be read would be the top left cell, with the text name of the site.
01:31The next cell that would be read would be the next one in the row.
01:34So it would be the second cell with the text tag line.
01:38The third item read would be the third cell in the first row with the text search bar.
01:43After this row is completed being read the screen reader would go onto the second row starting with the left-most cell, navigation menu.
01:52Then it would read main content, then it would read featured items.
01:56So in this simple case the linearization is probably OK.
02:00It will probably make sense to people using a screen reader or text browser.
02:04However, the user would have to listen to the entire navigation menu read before they got to hear the main content.
02:11If there are a number of items in that menu that could become a problem.
02:15There are ways that we can get around this, as we'll talk about in later movies.
02:18But many times linearization disconnects related content from each other so that it doesn't make sense,
02:24or it makes the user hear even more less important content before they finally get to the content they were wanting.
02:30Table2.html is a slightly more complex table that illustrates this.
02:35It's the same table except in the main content cell another table has been nested within.
02:41This table also has two rows and three columns.
02:44The order that this content would be read would be header 1, then header 2, then header 3,
02:51followed by the story 1 text cell, story 2 text, and finally, story 3 text.
02:58So this example shows headings disconnected from their content.
03:01So the text that will be read doesn't have the correct context and probably would be confusing.
03:06It could also even be misleading depending on the text of the third header and the text of the story 1 content that would be read in order.
03:14Although there are changes that we could make to the table itself to make this bad example linearize better,
03:19many real-world sites are too complicated to modify for compliance.
03:23In those cases, CSS should be used for laying out the site.
03:26We'll talk about that next.
Collapse this transcript
Using CSS for layout
00:00>> Although it's acceptable to continue using tables for layout if they linearize well, it's a really good idea to reserve the use of tables
00:06for data, as we'll talk about in a later chapter, and instead using CSS for controlling your layout and all other formatting.
00:14CSS layouts have advantages beyond avoiding the accessibility difficulties that were presented in the last movie.
00:20Using CSS for layout usually greatly reduces the file size of all of your pages, as well as their load times
00:26and the amount of bandwidth that you use on your server.
00:29CSS also makes it easier to keep the layout and look consistent between pages,
00:34which as we talked about in the first chapter, is an important aspect of accessibility.
00:38It also makes it easier to update the look of the site or even redesign it.
00:43There are even advanced CSS techniques that allow you to move the most important content up first in the source
00:49so that it will be the first thing read by screen readers and also can improve your search engine rankings since content that comes further
00:56up in the page is weighted more by the search engines, and also the reduced amount of markup in the page changes the ratio
01:03of code to keywords, increasing your keyword density.
01:06So with all of these advantages in mind, how do you make a CSS layout?
01:11You still need something to structure the page, so instead of using a table,
01:14you use DIV elements to group the content of the page into related sections.
01:19DIVs are just generic HTML elements that can be assigned an ID attribute to uniquely identify each one on the page.
01:26The CSS then targets these ID's to format and position each DIV.
01:31Because of this different structure, it really requires a different type of mindset to make CSS layouts
01:36than table layouts, so it really can be tricky to do at first.
01:39You're no longer looking at things in rigid grids like you were with tables and you have to start thinking of things as chunks of content
01:46that can be layered on top of each other and moved around the page.
01:49Although tricky at first, there are many resources to help you make reliable CSS layouts, such as Dreamweaver CS3's pre-made layouts.
01:58Dreamweaver CS3 comes loaded with a number of pre-made CSS layouts that you can use for your own sites.
02:04They're accessible by going to the File menu then selecting New.
02:11This brings up the New Document dialogue box.
02:13If you select the Blank Page option on the left side of the box, then select the HTML option under Page Type,
02:23this then shows in the third column the descriptive names of all the pre-made layout options available.
02:29If we scroll through the list we can see the many options that we have to choose from.
02:33In the next few movies we'll explore a few of these pre-made layouts.
Collapse this transcript
Creating a fixed-width layout
00:00>> There are three basic types of CSS layouts that Dreamweaver CS3 offers as part
00:05of its pre-made layouts: fixed width, elastic width and liquid width.
00:10We're going to start out by looking at a fixed width layout.
00:13Fixed width means that the overall width of the design is constrained to a particular pixel width that the designer has chosen.
00:20Although this type of layout is the least optimal in terms of accessibility,
00:24as we'll go over in detail later, it's also the easiest type of layout to build.
00:28So it's a good place to start our practice with CSS layout.
00:31To create a new fixed width layout, go to the File menu, click on New,
00:38in the New Document dialogue box click on blank page in the left most column of the box.
00:45In the second column, select HTML.
00:48In the third column labeled Layout, choose the layout labeled Two column fixed left side bar header and footer.
00:56The image that appears in the fourth column gives you an idea of what this layout is going to look like.
01:01The padlock icon on this image indicates that it's a fixed width layout.
01:06We next have to choose a document type for our page.
01:09We can choose between HTML 4.01 transitional and strict and various versions of XHTML.
01:16I'm going to choose HTML 4.01 Strict.
01:19Our next option is to choose where we want to add the CSS for the style.
01:25We can add it to the head of the page so that all of the rules will be listed out inside a style element in the head.
01:31We can add it to a file separate from the HTML page, which Dreamweaver will automatically attach to the page for you.
01:38Or our third option is to link to an existing file, and we would only use this when we didn't want Dreamweaver
01:43to create any CSS but just create the structure of this page for us.
01:48Choose the Add to Head option.
01:49Even though on real sites it's best to keep all the styles in external style sheets, it's very helpful to keep the styles
01:55in the head while you're building the page for easy reference and not having to switch back and forth between multiple documents.
02:02Once you've finished editing the styles you can easily move them to an external style sheet.
02:07Now that we have all the settings correct, click on the Create button.
02:12Dreamweaver creates a new page with placeholder content to help you visualize the page and how it's going to look.
02:18Each of the sections of the page is labeled with its purpose.
02:21The first DIV on the page is named header.
02:24The next DIV is named side bar one.
02:27The main content DIV is named, of course, main content.
02:31And if we scroll down to see the bottom of the page we can see our footer at the bottom.
02:37Let's preview this page in a browser so that we can see what a fixed width design looks and works like.
02:43Go to the document tool bar and click on the globe icon to bring up the Preview in Browser menu.
02:50Select Preview in Firefox.
02:52We're prompted to save the page, so click Yes and save it to the Chapter 3 exercise folder.
02:59I'm going to name it fixed.html.
03:03Then click Save.
03:07Once it's saved you'll see the page in Firefox.
03:10Right now our browser window is maximized, but if I click the button to restore down its size, I can then resize the browser window
03:18to different widths and see how this affects the page.
03:22So try making your browser window narrower and wider.
03:27The design stays centered, but it doesn't resize.
03:31Another thing that we can test is how the design will hold up when we change the text size.
03:36You can enlarge the text by holding down Ctrl and the plus key or Cmd and the plus key.
03:41Every time you hit that button combination the text will get bigger.
03:46To make the text smaller you can use the Ctrl and dash key or the Cmd and dash key.
03:52Again, every time you hit these keys the text will get smaller.
03:57Once again, the width of the design did not change.
03:59The text reflowed, but the width stayed the same.
04:03Close the browser window now and go back to Dreamweaver.
04:07Let's look at the CSS that is making this page fixed in width.
04:10Open the CSS panel group and click on the CSS styles tab, then click the all button to reveal a list of all the styles in the document.
04:19You'll need to click the plus sign next to the style element.
04:22The second style listed is the one we want to look at.
04:25I'm going to pull these other panels down so that we have more room to look at the CSS.
04:30All of the properties for this rule are shown in the CSS panel.
04:34You can see the width property is set and its value is set to 780 pixels.
04:40This is what is making the design fixed width.
04:42There's nothing in the markup that is doing it.
04:44If you wanted to customize one of Dreamweaver's fixed width layouts, this is where you would look to change the width.
04:50So it's pretty simple to create and customize a CSS layout in Dreamweaver CS3.
04:55But when we were looking at it in the browser we saw some accessibility problems.
04:59The user cannot resize the design to make the text flow in a way that is easier for them to read.
05:04Another problem is that if a user has very large text, such as a vision impaired user, only a couple of words may fit on a line
05:12of text, which can make the flow of reading difficult.
05:14On the other hand, many people with dyslexia or tunnel vision would prefer a narrow design with shorter line length.
05:20But again, they are not able to resize the design to suit this.
05:24This doesn't mean that you should never use fixed width layouts.
05:27Remember, accessibility is a scale.
05:30It's not an on or off characteristic.
05:32There are some types of sites that has content that are well suited to a fixed width layout, or it might be a requirement from your client.
05:39So if you feel you need to create a fixed width design, that's okay.
05:42Just be aware of its limitations.
05:45Next we'll look at a couple of layout types that are higher up on the accessibility scale.
Collapse this transcript
Creating an elastic layout
00:00>> Another type of layout that's possible with CSS, but not tables, is commonly called an elastic layout.
00:06This refers to its ability to start at a fixed size but expand like a rubber band if needed.
00:11These layouts are flexible because they're built with relative units.
00:15Their width is relative to the width of the user's font size.
00:18This is a pretty strange concept to talk about without seeing it in action,
00:22so let's create an elastic layout from one of Dreamweaver's pre-made layouts.
00:25We'll follow the same steps that we used for creating the fixed width layout, so go to the File menu and click New.
00:32In the new document box this time, in the layout column, we're going to choose 2 column elastic, left side bar, header and footer.
00:41You'll see a different image this time to denote that it's an elastic layout.
00:45Again, I'm going to choose HTML 4.0 Strict for the doc type and keep Add to Head for the Layout CSS selected.
00:52Click Create.
00:54So far, our page looks exactly the same.
00:56So let's preview it in a browser.
00:59Go to the globe icon on the document tool bar and select preview in Firefox.
01:05Again, we'll be asked to save the pages to our change,
01:07so click Yes and save it to the Chapter 3 exercise files folder as elastic.html then click Save.
01:16Let's do the same thing we did with the fixed width design and try changing the width of the browser window.
01:24So grab the bottom corner and make the window narrower and wider.
01:28So far the width hasn't changed and it looks just like the fixed width layout.
01:32But now we're going to try changing the size of the text.
01:35Again, you can do that in Firefox by holding down the Ctrl and plus key, or Cmd and plus key, on your keyboard.
01:42Resizing the text just one degree has all of the sudden made the layout much wider.
01:47If we expand the text one more time, it's even wider still.
01:51Now let's hold down Ctrl and dash, or Cmd and dash, to make the text smaller.
01:59Every time we hit this key combination, the design gets narrower.
02:03This is a characteristic of elastic designs.
02:06Because the width of the design changes as the size of the text changes, we have the same number of words on every line at every width.
02:13This allows us to optimize the line length of the text for easier reading.
02:17So close Firefox and go back to Dreamweaver so we can see how an elastic layout is made.
02:22In the CSS panel, click the All button, and then the plus sign by the style element.
02:27Click the second rule down for the container element.
02:30This time, if we look at the properties, the width is set to 46em, and em is a relative unit of measure.
02:36One em roughly equals two characters of text.
02:40So if we change the width value to another number, but keep it in em's, let's try a value of 30 em's, the design changes its initial width.
02:50Less characters are now on every line of text.
02:52Let's preview the page in the browser again.
02:56We'll have to save changes again to our page.
03:01The starting width of our design is much narrower than it was before, but once again changing the size of the text here using control plus
03:08or command plus to make it bigger, still makes the overall design wider and maintains the same number of words per line.
03:16So you can see how this type of design has an advantage in terms of adapting to the user's preferences.
03:22However, one of the problems with this type of design is that you can quickly generate a horizontal scroll bar in the browser.
03:29Let's enlarge the text a couple more degrees to see this.
03:33In order to view all of the content on the page, you have to do a lot of horizontal scrolling.
03:38The third type of layout that we're going to look at has its pros and cons as well,
03:42but generally is considered one of the most accessible types of layouts.
03:46Let's create a liquid layout next.
Collapse this transcript
Creating a liquid layout
00:00>> The third type of layout that we're going to make is called a liquid or fluid width layout.
00:04This refers to the fact that these layouts aren't rigid and solid, but flexible, like water.
00:10Like elastic layouts, they're made with relative units, but their width is dependent on the user's browser window width.
00:15A bigger window means a bigger width.
00:17And it will scale smoothly down as the window is scaled down in size.
00:21We use the same steps to create the layout, so go to the File menu and click new.
00:26This time under the layout column, choose two column liquid, left sidebar, header and footer.
00:32For Doc type, choose HTML 4.01 strict and leave layout CSS set to add to head and click create.
00:40Let's go straight into previewing this in our browser.
00:43Go to the document toolbar and click on the globe icon and select preview in Firefox.
00:47When we're asked to save the page, click yes and save the file as liquid.html in the chapter three exercise files folder, then click save.
01:00The first thing we'll do is resize the browser window.
01:05However when we resize the width of the window this time, the entire width of the design changes to match.
01:10Pulling the browser window back out changes the design to be wider.
01:15Let's close Firefox now and go into Dreamweaver to look at how this is done.
01:19Open the CSS style panel and click on the all button then click on the plus sign next to the style element to show all the rules for this page.
01:27Select the second rule for the container DIV.
01:30Here, the width is set to 80 percent.
01:32This percentage is relative to the width of the browser window, so the design will always take up 80 percent of that width.
01:39Click on the value and change the width to 60 percent.
01:43Now preview the page again.
01:46When asked to save changes, click yes.
01:50The page is now narrower, but if we resize the browser window, it still changes in width as well.
01:57The advantage in terms of accessibility for this type of layout is that the user can resize the window and change the design width
02:03to make reading more comfortable or otherwise fit their needs.
02:06There is a down side though.
02:08Although liquid layouts are just as simple to make as fixed width layouts in terms of their initial structure and CSS,
02:14they start becoming more complicated when the design is very complex or when complex content is introduced into the design.
02:21This is because you have to make sure that the graphics of your design hold together at various sizes and you have
02:27to make sure that content doesn't overflow its containers.
02:30These are all issues that can be successfully addressed with CSS, of course,
02:34but they require a higher level of skill and comfort with the language.
02:37Also, some designs and types of content just don't work well with liquid layouts, such as if you have a page full of large fixed width images
02:45that would overflow their containers if the design became too narrow, so there may be times to turn to fixed width ones instead.
02:52For the rest of this title though, we're going to stick with this liquid layout and work on customizing it to further improve its accessibility.
02:59In the next movie we'll start that customization process.
Collapse this transcript
Customizing a liquid layout
00:00>> As we saw in the last movie, liquid width designs can improve accessibility
00:04by offering web users an even greater range of control over the page to suit their needs.
00:09We're going to use the page saved in the last movie name liquid.html as the start of an example site to build.
00:15If you're following along with the exercise files and do not already have liquid.html open in Dreamweaver from the last movie,
00:22it's located in a folder named 03_06 in the chapter three folder of your exercise files.
00:29We'll begin our customization of this page by changing some width values to better suit a wider variety of designs and make it a little more robust.
00:36Right now, both of the columns have liquid width.
00:39Let's preview the page in Firefox to see that again.
00:42Click on the globe icon in the document tool bar and choose preview in Firefox.
00:47Narrow your browser window as you did before.
00:51You can see that both columns change in size and the sidebar gets very narrow when the window is narrow.
00:57Long words are overflowing out of the sidebar and overlapping with the main content.
01:01Fortunately we can change the design to make the side bar have a fixed width while keeping the overall layout liquid.
01:07So close Firefox now and go back to Dreamweaver.
01:11In the CSS styles panel, click the all button and make sure that all rules are displayed under the style element.
01:17Select the fifth rule in this list that's labeled side bar one.
01:21In its properties below we can see that its width is currently set to 24 percent.
01:25Click on 24 percent and Dreamweaver will bring up two select menus.
01:29The first is for a value, so enter 200 here.
01:32The second menu is where we choose the unit of measurement for this width.
01:36Click on the arrow in the menu and choose pixels, the top option.
01:41The width of the sidebar immediately changes in the design view of the page.
01:46Scroll down the page in design view and you can see that now the main content is wrapping underneath the bottom of the sidebar somewhat.
01:54This is because the space that the sidebar occupies is created with the left margin on this main content DIV.
02:00We need to change that left margin to match or exceed the width of the sidebar.
02:04Go back to the CSS styles panel and choose the rule for the main content DIV.
02:09It has a single property listed for margin with four values shown, one for each side of the DIV.
02:15The first value is for the top margin, the second for the right, the third for the bottom and the fourth for the left.
02:22You can remember this order by thinking of going around a clock in clockwise manner from top all the way back up to the top.
02:28So click on the list of values and this text will become editable, change the 26 percent to 230 PX for pixels.
02:37This extra thirty pixels is there to provide space between the columns.
02:41Click outside of the rule and immediately the design view changes to show the new margin.
02:45We now have a straight left margin on our main content like we did before.
02:49Let's preview in Firefox again to see how this has changed our page.
02:53Click on the globe icon and choose preview in Firefox.
02:56It will ask us if we want to save the changes to the page, so click yes.
03:02You can see that now the content is no longer overflowing out of the sidebar, but now the main content has less room and is overflowing.
03:09If we resize the window to make it larger, this is fixed and the sidebar doesn't change width,
03:15but this can become a problem with very narrow windows.
03:18To avoid problems to our design at very extreme browser widths or font sizes, we can set a minimum and a maximum width for our layout.
03:26Close Firefox and go back to Dreamweaver.
03:29In the CSS styles panel, choose the container rule at the top of the all rules listing.
03:34Select the width property that is listed and simply click on the trash can item to delete this property entirely.
03:41As soon as we do this, the design adjusts to fill the entire design view.
03:45It will also now fill the entire browser window, no matter how wide or narrow, so we probably want to set a minimum and a maximum width
03:53to avoid the problems that we saw with very narrow windows having content overflow and overlap.
03:58Still in the container rule, click on the add property link in the properties pane of the CSS styles panel.
04:04A select menu appears, begin typing M I N and then click on the arrow in the select menu
04:10and you will see a full listing of CSS properties that are available.
04:14Based on what we began to type in, Dreamweaver has jumped down the list to properties that might match.
04:19It has MIN HEIGHT selected.
04:21We're going to choose MIN WIDTH instead.
04:24Now two more boxes appear.
04:26In the first text field that Dreamweaver has placed your cursor in, type 500.
04:31In the select menu beside it leave pixels selected as the unit of measurement.
04:37We're going to follow these same steps for setting a maximum width on this DIV.
04:42The final value that we're going to use for our maximum width is 1600 pixels, but because that's wider than our current screen,
04:48we're going to first set a value of 800 pixels just so we can preview it in the browser and make sure that it's working.
04:54So click on the add property link, type in MAX, then click the arrow in the Select menu,
05:00scroll down and choose MAX WIDTH from the list of CSS properties.
05:04In the text field that appears, type 800 and leave pixels selected as the unit.
05:12Now let's preview our page.
05:14Click on the globe icon and select preview in Firefox.
05:17Again, when asked to save the changes, click yes.
05:22Grab the corner of your Firefox window and make the design larger.
05:27The text reflows up until a certain point and then it simply stops as if it's a fixed width design.
05:33This also happens if we narrow the window.
05:36Try making your window more narrow.
05:42Again, the design gets less wide until it hits a certain point and snaps into a fixed width.
05:46You can add a minimum and a maximum width to your liquid layout in order to keep it flexible,
05:51but still keep it compatible with any size limitations you have on your content.
05:55One thing to note is that Internet Explorer 6 does not support the MIN WIDTH and MAX WIDTH properties.
06:01The design will still work just fine in this browser, but it won't snap to this fixed widths when it gets to narrow
06:07or too wide, it will just continue expanding or getting smaller.
06:11If you need to have a minimum or maximum width in Internet Explorer, you'll have to use a JavaScript solution.
06:16You can search online for one of the many, free Internet Explorer MIN and MAX width scripts.
06:21For all other major browsers, adding a minimum and maximum width is a really simple and effective way to balance a user's need for flexibility
06:29with the design and content requirements for your site that might make a fully liquid design impractical.
06:35Before we customize this page any further, close Firefox.
06:39Let's go back to Dreamweaver and change the MAX WIDTH to the real value that we want, 1600 pixels.
06:45Click on the 800 pixels shown inside the MAX WIDTH property and type 1600.
06:51The appearance of the page won't change at this point, but if testing it in a browser at a width greater
06:56than 1600 pixels, you'll see it snap to that maximum width.
06:59So in this movie, you've seen how to adapt a liquid layout to accommodate a greater range of content without overflowing or overlapping.
07:07We've made the side bar fixed in width but kept the overall layout liquid up until a certain minimum and maximum width was reached.
Collapse this transcript
4. Working with Text
Specifying the language
00:00>> In this chapter we are going to replace the placeholder content that Dreamweaver added
00:04to our pages by default with real text for our example site.
00:08We're going to focus on making that text accessible.
00:11Before we add any text to the page though we need to specify what language the text is going to be in.
00:17The page that we'll be working with is named visitors.html.
00:21If you are working along with the exercise files, it's located in the chapter four folder inside the starting sub folder.
00:28This is the same page that we worked on in the previous chapter but some additional styling has been added unrelated to accessibility
00:34to help the site start to take shape and keep us focused on changes made for accessibility not the minutiae of purely decorative styling.
00:42We've also cleaned up the CSS as you've seen in the CSS files panel simply to make it easier to read
00:48and for us to make further changes to it as we develop our site.
00:52The site that we will be building is for a fictional town named Wordscott and this page is the visitor's page of the site.
00:58We're going to be setting the language of the page in the HTML doing so makes this information about the language available to be used
01:05by screen readers to provide the correct reading, other uses are for language specific searches and search engines,
01:12translation tools that people may run on your site, spell checking tools in people browsers, as well as how the browser might format the text.
01:20Such as if it needs to choose a certain font to display special characters
01:24or choose particular types of quotation marks and other punctuation markings.
01:29To define the base language for the entire page we'll need to go into the code view.
01:34Click on the code button in the document toolbar in the top left corner of the page.
01:39We need to add an attribute to the opening HTML tag so scroll up to the top of the code,
01:45place your curser inside the HTML tag immediately before its closing bracket, then type LAN="EN-US".
01:55This is the LANG attribute and we've set the language of this page to be US English.
02:06If you have multiple languages on the same page you can use this LANG attribute
02:10on whatever HTML element surrounds the different piece of text that you need to denote.
02:15For instance the placeholder text that is still in the sidebar has two different languages listed.
02:20Stay in code view and scroll down until we get to the sidebar.
02:24( Pause in speaking )
02:30>> The side bar appears immediately after the heading DIV on line 89 in the filevisitors.html.
02:37The first paragraph shown in the side bar is in English, the second paragraph is in Latin.
02:42We can add LANG attributes to each of these paragraphs to denote the change.
02:47We've already set a base language of English for the page so we don't need to set a LANG attribute on the first paragraph.
02:53For the second paragraph, place your cursor inside its opening tag immediately before the closing bracket type a space
02:59and then LANG="LA" this tells the screen readers, search engines and other devices that the language of this part of the page is Latin.
03:12For a list of possible language codes that you can add to your pages go to en.wikipedia.org/wiki/List_of_ISO_639-1_codes.
03:28Now that the language of the page is set we just need to set the page title before adding in our content.
03:38We'll look at the accessibility implications of page titles next.
Collapse this transcript
Setting page titles
00:01>> People with and without disabilities use the titles of web pages to uniquely identify each page from each other,
00:07whether that's within their bookmarks list, browser tabs, or task bar.
00:11It provides the basic information about what the page is about, and where you are in the site.
00:17Because of that, it's very important to use meaningful text.
00:20As you saw in previous movies the title is the first thing that is read by Jaws.
00:25So you want to make the title informative, but not too long.
00:29Put the most important information at the start of the title.
00:32That means there's less for a screen reader user to listen to, and it's faster for them to identify what the page is about.
00:39So put the name of the specific page you are working with first in the title and then put the site name.
00:45This will be less annoying not having to listen to the name of the site repeated over and over again
00:50as the user views various pages throughout your site.
00:53They can just listen to the start of the title being read, then skip over the rest and get straight to the content of the page.
00:59This also makes it easier for sighted users too, as the amount of space in each browser tab or block on the task bar is very limited.
01:07So with the most important information shown at the beginning of the title, it's easier to know which page is which.
01:13This is our visitor's page in the site.
01:15So we're going to give it a title of visitors, and then town of Wardscott.
01:20Click on the title field in the document toolbar.
01:23Highlight over the default text untitled document, and hit back space or delete to delete the text.
01:29Type in visitors, then put pipe character, then town of Wardscott.
01:38Another accessibility consideration with titles is the character that you use as a separator.
01:44Here we've used a pipe character.
01:46In Jaws this is read out as vertical bar.
01:50If you use special characters as a separator they could be read as a long string of words by Jaws.
01:55So stick with something simple, like the pipe character, a dash, or a dot.
02:00If you do need to use a different type of character test it in Jaws to see how it will be read.
02:05With both our language and title setup, our page is now ready for its content.
02:10Next we'll add some real text to the page and look at how to set the headings and paragraphs correctly.
Collapse this transcript
Setting headings and paragraphs
00:00>> Marking up your text as headings and paragraphs is one of the simplest changes you can make to a webpage
00:06that has one of the greatest impacts on accessibility.
00:09Headings are the primary way that you can add structure to your text.
00:13They divide up the text into related pieces and provide information on the hierarchy of that information.
00:19Just as a sighted user can scan up and down the page to look for text that sticks out visually and get a sense of what topics are covered on the page.
00:27Screen readers can do the same sort of things if there are headings in the markup as we saw earlier with JAWS you can bring up a list
00:34of headings for a page and jump to each one of those.
00:38Another advantage to using headings is that it easier to keep them looking consistent through out the site using CSS.
00:45Finally headings are looked at by search engines as an indication of what words on the page are more important than others.
00:51By putting the important topics of your page into headings your making it easier for search engines to find your page for those words as well
01:00as making the page more accessible to both sided and screen reader users who can scan through the page and quickly get a sense of the content.
01:07If you are following along with the exercise files open the files visitors.doc from the chapter four folder.
01:14The text in this document does not have any formatting applied to it, this is ideal for pasting into Dreamweaver because it insures
01:21that no excess formatting will be carried over into our webpage.
01:25Remember we are trying to keep all the visual formatting in the CSS not in the HTML.
01:31Hit control A or command A to select all the text on the page then control C or command C to copy it.
01:39Go back to Dreamweaver highlight over all of the context in the main content DIV then hit control V or command V to paste in the text.
01:49By default Dreamweaver paste text from Word as paragraphs.
01:54You can verify this by clicking in any of the paragraphs of text that we just pasted in.
01:59If you look at the tag selector at the bottom of the document window you can see
02:03that the current tag is a P tag meaning this text is marked up as a paragraph.
02:08You can also verify this in the property's inspector by looking at the format menu,
02:13again its set to paragraphs so we know that this text is correctly set.
02:17What you do want to check however is that the text hasn't been pasted in as one big paragraph but that each chunk of text
02:23on the page is a distinct paragraph with its own opening and closing tag.
02:28An easy way to do that in design view is to try to place your cursor in the blank spaces in each line, if you are able to do so then
02:36that means the chunks of text are being separated with break elements not with the margins on each individual paragraph.
02:43Let's check this page, scroll up to the top try to place your cursor underneath the word visitors on the blank line.
02:51We're not able to click there because visitors is a separate paragraph from the text below.
02:56That space is not actually a blank line but simply a margin gap, we'll try to do this after the first paragraph as well
03:03and again we can't click there, that's what we want to happen.
03:07Scroll through the rest of the page and try to click between each of the paragraphs, you'll see that you can't place your cursor in those gaps
03:16because Dreamweaver has correctly preserved the paragraphs in the Word document.
03:21If you also have headings set up in your Word document Dreamweaver will also paste in those same headings.
03:26This is really useful if your content providers are using headings correctly, but if there not using them correctly
03:32in the source document you may not want Dreamweaver to preserve them so you can change how it paste in text by going edit and then clicking
03:43on paste special, you'll see that you have that you have four options listed under paste as,
03:49the default option is text with structure this is why Dreamweaver pasted in the text with paragraphs intact and if we have any headings
03:57in our Word document those would have also been preserved when we pasted in the text.
04:02If a word document has a lot of excess formatting that you need to get rid of an easy way is to simply paste it in as text only, click cancel.
04:11Now we need to change some of the pieces of text on this page from paragraphs into headings.
04:16We'll use this doing the format menu on the properties inspector.
04:20First let's scroll up to the top of the document.
04:23Most pages have only one main topic so you will usually only have one heading one or H1 tag, all others will be sub headings of this.
04:32Usually you will set your H1 to be the title of your page, on this page our title is visitors.
04:39Highlight over that text then go down to the property inspector and click on the arrow of the format window, select the option heading one,
04:49the appearance of the text changes to reflect the default settings of the H1 tag, we'll customize that later.
04:55We now need to set the sub headings.
04:57Scroll down and select the words Lake Wordscott, this is a sub heading of our titles visitors, so go down to the format menu
05:07on the property inspector, click on the menu and select heading two from the list.
05:13Again the text changes because of default formatting, we need to decide if the next piece of text on the page is a sub heading
05:21of that H2 Lake Wordscott or if it is a subheading for the title of the page visitors.
05:27Basically when you are deciding what headings to set on your page you are going to be thinking about your page as an outline document.
05:34If this is an outline downtown Wordscott would come underneath the heading of visitors, so this should also be a heading to.
05:41Highlight over downtown Wordscott click on the format menu in the properties inspector and choose heading two.
05:48Scroll further down the page and highlight over events, click on the format menu and choose heading two for this text as well.
05:57If we read the text underneath events you can see that there are basically two sections annual events and upcoming events,
06:03both of these are sub sections of the events header so these should be H3 elements.
06:09If we highlight over annual events and choose heading three from the format menu, you will see that the entire paragraph changes its appearance.
06:17This is because that entire chunk of text was marked up as a single paragraph.
06:22Annual events was not a separate paragraph from the text below so before we set it as a heading we need
06:28to make sure that it's a completely separate paragraph.
06:32Go up to edit and select undo text format to remove the formatting that we just applied.
06:37Next place your cursor at the start of the line below the annual events text and hit backspace to remove the line break
06:45between annual events and the next sentence then hit enter or return.
06:49This creates a new paragraph and keeps the annual events text separate.
06:54Now we can highlight over annual events and go to the format menu on the properties inspector
06:59and select heading three and only that piece of text is affected.
07:03We need to do the same thing for the up coming events heading.
07:07Place your cursor on the start of the line below the upcoming events text,
07:10hit backspace to remove the line break and then enter a return to create a new paragraph.
07:16Highlight over up coming events, go to the format menu and select heading three.
07:23If we scroll down the page we'll see that we've now formatted all of our headings.
07:28Scrolling back up the page we can see that the font sizes of each of the headings differs based on there level.
07:34This is default formatting that we'll talk about how to change in a later movie but first we are going to set a couple more headings on this page.
07:41You can also use headings as labels for the main sections of your pages.
07:46This allows screen readers users to quickly jump to a particular section.
07:50It may also help sighted users make better sense out of the page if the interface is complicated or different
07:57from standard visual conventions that most are use to.
08:00We are going to use the sidebar of this page for our section navigation.
08:04So we can add a header to this DIV that provides that information.
08:08Highlight over the sidebar one content text that is already there and type in section navigation.
08:17With your cursor still in that text if you look down at the properties inspector
08:21at the format setting you will see that it is currently set to a heading three.
08:25We are going to set it as a heading two since it's one of the major sections of the site just under the main topic if the entire page.
08:33So highlight over the text section navigation then go back down to the format menu in properties inspector and choose heading two.
08:42We can also delete the paragraph text in this section.
08:45We'll add the content for the actual section navigation in a later chapter.
08:51Highlight over the paragraph text and hit delete the other section of the page we may want to label is the footer.
08:58Scroll down to the bottom of the page and place you cursor in front of the copyright notice,
09:05hit enter or return to create a new paragraph above that existing text.
09:11On that new paragraph line type footer then highlight over this text and using the format menu in the properties inspector select heading two.
09:24These sections will then show up in the list of headings that a screen reader user may bring up in order to navigate the page.
09:30They'll immediately be able to tell where to go if they are looking for the section navigation or if they are looking for the footer in order
09:36to get copyright information or link to a privacy policy.
09:40Again we'll later talk about how to style these headings, even how to remove some of them from view so they are available to screen readers
09:47but not to sighted users but for now we've created the base markup that is so important for creating the structure of our page.
Collapse this transcript
Styling headings
00:00>> We now have real, structured text on the page using paragraphs and headings.
00:05But the default text size of the headings is pretty large compared to the main body text size.
00:10The default size and spacing of heading text is often what deters people from using headings properly or even at all,
00:18but using the concept of separation of content and presentation we can keep our headings in the HTML
00:25and just use CSS to change their default appearance.
00:28If you're following along with the exercise files, we're working on the file visitors.html.
00:34It's in the 04_04 folder of the chapter four exercise files.
00:39The first style that we're going to add to our headings and paragraphs is controlling their margins.
00:44Go to the CSS styles panel and click on the new CSS rule at the bottom of the panel.
00:50It looks like a piece of paper with a plus sign on it.
00:53This opens the new CSS rule dialogue box.
00:57For selector type, choose advanced.
01:00The selector that's currently shown is based on wherever your cursor was in the page when you clicked on the new CSS rule button.
01:08Delete that text.
01:11The selector that we're going to write is a group selector.
01:14That simply means that it styles a number of elements at one time.
01:17In the selector field type H1, H2, H3, H4, H5, H6, P. This rule will style all the levels
01:24of headings from one to six as well as the paragraph element.
01:32For the define in option choose this document only then click okay.
01:39This brings up the CSS rule definition box.
01:45The property that we want to change, margin, is listed under the box category.
01:54So click on box under the category listing on the left side.
02:03On the right hand side under the listing for margin, uncheck the same for all box.
02:08In the top box, type zero.
02:11This is removing the default top margin on all of our headings and all of our paragraphs.
02:16They'll still be spaced out from each other by the default bottom margin that all of these elements have.
02:21But removing the top margin enables us to control the spacing between each of them more precisely.
02:27Once you've typed zero in the top box, click okay.
02:30This is the only property that we're going to add to this rule.
02:33The new rule now shows in the CSS styles panel and its properties are listed below.
02:39The appearance of the page hasn't changed yet, because bottom margins still exist on all of these elements.
02:46Now we can start editing those bottom margins and changing how the headings look.
02:50Click on the new CSS rule button at the bottom of the CSS styles panel.
02:55For selector type this time, click on the tag button.
02:59In the Tag Select menu below, click on the arrow and scroll down the list to select H1.
03:10Keep this document only checked for the define in option, then click okay.
03:16Once again, go to the box category of the CSS rule definition dialogue box,
03:21in the margin section on the right side of the box, uncheck the same for all checkbox.
03:27In the bottom field, enter .5.
03:31In the Select menu, below that field, choose M as the value.
03:37As we saw when we made an elastic layout, the M is a relative unit of measurement that corresponds to the size of text characters.
03:45By setting the margin in Ms, we're ensuring that no matter what text size the user has, the space will be proportional.
03:52If we were to set a pixel size that margin gap would never adjust no matter what font size the user had.
03:59If the user had a very small font size it might look too big, whereas if they had a very large font size,
04:05it might not be enough spacing to make the text easy to read.
04:08Now let's go to the type category of the dialogue box.
04:12Click on type under the category listing on the left hand side.
04:16Click on the arrow in the font field and choose Georgia, Times New Roman, Times Serif from the list.
04:24This sill set our font to Georgia if it's available on the user's machine.
04:28If not, the browser will continue going through the list of fonts we've specified until it finds one it can use.
04:34For weight, select bold.
04:37In the size field, enter 170.
04:40And then for the unit, choose percent.
04:45This means the H1 text will be 170% of the base font size set on the page.
04:52Again, by using a relative unit, we're ensuring that no matter what the user's font size is, things stay proportional.
04:59Finally, click in the color field, type #308594.
05:07This color value is the same turquoise used in the logo for the website.
05:11Now click on okay to accept all of these rules.
05:15You can see that the appearance of the H1 has changed now.
05:18Let's next create rules for the H2 and H3 tags that we have on this page as well.
05:24Click on the new CSS rule button in the CSS styles panel, choose the tag option for selector type.
05:31Click on the arrow of the Tag menu and scroll down to select H2.
05:39Keep this document only checked, then click okay.
05:43Let's set the same color that we used for the H1, so type #308594.
05:52For the font size, type 110, and in the Unit menu, choose percent.
05:58In the Weight menu, choose bold.
06:03Click on the arrow of the menu next to the case option and choose uppercase.
06:09Now let's go to the box category of the dialogue box.
06:13Click on box in the category list.
06:15In the margin section of the screen, uncheck same for all and in the bottom box type in .3.
06:22In the Unit menu, choose Ms. Next, click on the border category.
06:29We're going to create a border beneath our H2 text.
06:32Since we only want it on the bottom, uncheck the three same for all boxes shown on the screen.
06:39Click on the arrow of the bottom menu listed under the style heading, choose solid.
06:45Under width, type one and leave pixels selected as the unit of measurement.
06:52Finally, in the color box, type #D5DDDD.
06:58Now that we have a border set on our H2, we might want to add a little bit of padding between the bottom of the text and where the border starts.
07:08So go back to the box category, uncheck the same for all box under the padding heading.
07:15In the padding bottom box, type .1 and choose Ms as the unit of measurement.
07:24With all of these properties set, click okay.
07:27Scroll down the page to see our H2s.
07:30You can see that now the text is all in uppercase, the color has changed and there's a border beneath each H2 tag.
07:40The last heading that we need to style for this page is the H3, so click on the new CSS rule button in the CSS styles panel.
07:48For selector type, choose tag.
07:51In the Tag menu, scroll down and select H3.
07:57Keep this document only select and click okay.
08:01In the Font menu at the top of the CSS rule definition dialogue box, choose, once again, Georgia, Times New Roman, Time Serif.
08:10In the Weight menu, choose bold.
08:12In the size box, type 110 and choose percent as the unit of measurement.
08:22This is the same size that we used for our H2 tags.
08:26Generally you'll want each heading higher up the hierarchy to have a larger font size to make it visually clear what that hierarchy is.
08:34In this case, though, the H2s have their text completely capitalized.
08:39That's going to make them appear larger and have more emphasis than our H3 tags.
08:44Finally, in the type category, click inside the color box and type #308594.
08:54Next, go to the box category.
08:57Underneath margin, uncheck the same for all box.
09:01In the bottom box, under margin, type zero then click okay.
09:07Scroll down the page to see our H3 elements.
09:12You can see that there is no longer any space between the bottom of each H3 and the paragraph that follows it.
09:19Each of the elements are still distinct from one another in the HTML, but we've used CSS to remove the margin and change the visual style.
09:27This gives you just a few options for how you can style headings.
09:31It's clear that they don't have to be huge or ugly, just make sure that you keep a good structure of headings
09:36in your markup, then add on layer of CSS styling for sighted users.
09:40An additional change that you might want make for sighted users is removing the page section and labels from their view, such as the section navigation
09:48and footer headings that we currently have in our page.
09:51In the next movie we'll use CSS to accomplish this as well.
Collapse this transcript
Hiding section headings from sighted users
00:00>> Even with improvements that CSS has made to the appearance to the headings on our page you may want to hide the section navigation
00:07and footer headings from view but still have them accessible to screen readers.
00:12You can make elements invisible using CSS in a way that will still cause the text of those elements to be read by screen readers.
00:20The most obvious CSS to use for this is setting the display property to a value of none, this makes the element invisible
00:28and leaves not empty space behind but many screen readers including JAWS won't read text that is styled with display none.
00:37An alternative way to keep content on the page but out of sight is to move it off the screen.
00:42There are a variety of ways to move something off the screen and some work in more screen readers than others.
00:50A pretty reliable way is to use one of the methods called left positioning.
00:55This is where you use CSS properties to move the element all the way off the left side
01:00of the screen including absolute positioning margin text indent.
01:05We're going to use absolute positioning with a really big negative left margin as our off left positioning technique.
01:12Click on the new CSS rule button in the CSS styles panel.
01:18Choose class as the selector type.
01:20We're going to make a class that can be reused on multiple elements on our page in this case the section navigation heading and the footer heading.
01:29Highlight over the text that is placed in the text field by default and delete it.
01:34Then type in .offleft this is the name of our class that will later apply to the section navigation and footer headers.
01:45For the define in option keep this document only selected, click okay.
01:52This brings up the CSS rule definition dialog box.
01:55First go to the positioning category listed on the left side of the box.
02:01Click on the arrow in the type field and choose absolute.
02:06Absolute positioning is a way of taking an element and pinning it to a specific spot on the page.
02:11When you make something absolutely positioned it is no longer in the flow of the document that means
02:17that the other elements around it act as if it doesn't exist.
02:21We use absolute positioning here so that the text that follows these headings will not leave room for the headings above them
02:28but instead act as those headings aren't even there.
02:31Next click on the box category, under the margin section on the right side of the screen, uncheck the same for all box.
02:40In the left field under margin type a hyphen for a negative sign, then 9000 leave pixels selected at the unit of measurement.
02:51Using a negative margin makes the element move in the opposite direction that it usually would.
02:56In this case it will move 9000 pixels to the left edge of the screen.
03:01The exact number is not important, the point is to use a very large value so that even if someone has a really large font size and thus the text
03:11of section becomes very long it still will not show up on the screen.
03:16Click okay to accept these rules.
03:18The new off left rule is now listed under the all rules pane of the CSS styles panel and its properties are shown below.
03:27We haven't yet applied this class to anything on the page so click on the section navigation heading on the left side of the page,
03:35highlight over the text and then go down to the properties inspector.
03:41Click on the Style menu, a list is shown with the name of classes that are currently in our CSS.
03:48The last one listed off left is the style that we just created, select that style.
03:54As soon as we select that class it is applied to H2 element and it's no longer visible onscreen.
04:01Now let's apply it to the footer heading as well.
04:04Scroll down the page and select over the footer heading text.
04:10In the properties inspector open the Style menu and choose off left.
04:16Again the heading immediately disappears and the space that it once occupied is no longer there.
04:22To verify that this is going to work correctly lets preview the page.
04:27Click on the globe icon in the document toolbar to bring up the Preview and Browser menu.
04:33Select preview and firefox and you will be asked if you want to save the changes to the page, click yes.
04:39The section navigation heading is now missing from the side bar area.
04:46Scroll down the page, the footer heading is also gone from the footer.
04:52What we really want to know though is whether the headings are still there to be read by a screen reader
04:57so let's open up JAWS and see how it handles the page.
05:01Go to your Start menu and choose JAWS from the list of programs.
05:07>> Digital Voice: JAWS 40 minute mode visitors vertical bar town of Wordscott -Mozilla Firefox.
05:12>> After JAWS reads the title of the page it stops speaking and waits for us to tell it what is should read next to bring up a list
05:20of headings in the page us the keyboard shortcut insert an F6.
05:25I'm going to press those keys now.
05:26>> Digital Voice: Heading list dialog.
05:28Heading list new section navigation:2 one of eight.
05:32To move the items use the arrow keys.
05:35>> You can see that the first heading listed is section navigation, one that we have hidden.
05:41So it is still there to be read by JAWS.
05:44The footer heading is also still listed at the bottom of this heading list, to just there quickly simply press the F key.
05:52>> Digital Voice: F footer:2
05:55>> Pressing any letter will jump you to the next heading that starts with that letter.
05:59Now that we have the footer heading selected we can press the enter key to move directly to that heading in the page.
06:06>> Digital Voice: Enter footing heading level two.
06:09>> To get JAWS to read on from this point in the document hit the key combination insert and the down arrow.
06:15>> Digital Voice: Heading level two footer copyright 2007 town of Wordscott all rights reserved.
06:21>> So as you can see the headings were still there to be used by screen reader's users to navigate around the page.
06:27So fare we've looked at how to style heading color, font size, margins and even how to make them hidden for sighted users.
06:35Next we'll talk about more general principals for making sure your text stays readable.
Collapse this transcript
Styling text for readability
00:00>> So far in this chapter we have talked a lot about screen readers and improving accessibility for there users.
00:06This is not because any disability is more important than another but primarily because screen reading is such a different experience
00:13from other types of browsing that it can require more accommodation and changes to our pages.
00:19In this and the next movie however we'll be focusing on issues that have no bearing on screen reader access,
00:25how to make the appearance of our text easier to read.
00:29There are many web users who are not blind and do not use screen readers but have other visual impairments
00:35or simply poor vision and may find text hard to read.
00:37In this movie we will focus on the sizing and spacing of text for readability.
00:43If you are following along in the exercise files we're working on the file visitors.html in the 04 06 folder of the chapter four exercise files.
00:53We're going to set a base font size for this page.
00:57The size units that we choose for our text should always be relative units.
01:01Those are units that have no set dimensions but change in size based on each platform, browser and user setting.
01:08The two main relative units for text are percentages and em's.
01:12We've talked about the em unit earlier as being relative to the size of the text characters.
01:17One em equals whatever the current font size is, so if the user has a font size set to 16 pixels and you set the font
01:26on your webpage to on em, he or she will see 16 pixel text.
01:31Percentages are relative to the font size of the parent element.
01:36The parent element is simply the HTML tag that is wrapping around the current tag that you are in.
01:41If there is no parent element, for instance you are on the body tag
01:45or if the parent element has no font size set the percentage is simply relative to the users browsers default size.
01:52Once again setting 100 percent would simply equal their default setting.
01:57That makes em's and percentages pretty interchangeable.
02:01You can use whichever one makes more since to you.
02:04Leavening the text set as 100 percent or one em is the most accessible option because if the user has configured their size to their preferences,
02:13you are respecting their preference and not making the text smaller than they can or prefer to read.
02:18In reality though very few users ever change their browser or system font size simply because they don't know they can and most clients aren't going
02:26to be happy with how large text is if you leave it at the default.
02:30Not to mention you as a web designer might not be too happy about it, so the compromise is to set text to a lower size.
02:37But to keep accessibility in mind don't make it too small and make sure that you keep it in relative units.
02:43If you use an absolute unit such as pixels to size the text, internet explorer users won't be able to change the text size,
02:51all other browsers allow pixel text sizes to be scaled but it is still good to pick a percentage of em value instead of an arbitrary pixel value
02:59that could end up being really far off from what a user has set for him or herself.
03:04With that in mind let's choose a smaller font size for our main body text.
03:09We want to pick a measurement that will be roughly the same between different browsers.
03:15Each one is going to have to round the value that we choose.
03:18Open up your system calculator, on windows go to the start menu, click on all programs, then click on accessories and choose calculator.
03:30The default font size on most systems and therefore the size that most users will have set is 16 pixels.
03:37Let's see what font size we would end up with if we chose a percentage value of 90 percent.
03:42Type in 16 and multiply it by .9, we get 14.4, there's no way for the browser to make texts that contain fractions
03:54of pixels so it's going to have to round this number.
03:57Every browser will round in a different way so we'd like to get the value as close as possible to a whole number.
04:04Let's try 88 percent, hit clear then type 16 times .88.
04:13That gives us 14.08.
04:17This is the closest we are going to get to a whole pixel value so this is probably a good value to pick.
04:23Close the calculator and go back to Dreamweaver, in the CSS styles panel click on the body rule at the top of the all rules pane.
04:33In the properties listed below you'll see that the font property is currently being set.
04:38The first values listed for font is 100 percent, this is the font size we are now going to change to 88 percent, click on the number
04:46and the text field becomes editable, you may need to scroll back over to the front of the field to see 100 percent.
04:53Highlight over and type 88, make sure you leave the percentage mark.
04:59Hit enter or return to accept the value, you'll see that all the text has now changed size because we set the size of the heading text
05:06in percentages as well, it also scales down proportionally.
05:10Another change we can make to the text that affects it readability is the amount of white space between each of the lines of text.
05:17We've already modified the margins on the headings to improve the spacing between the chunks of text, but now let's increase the space
05:24in between all lines of text on the page using the line height property.
05:28We'll set this on the body rule as well.
05:31With the body rule still selected in the CSS styles panel click on the add property link in the properties area of the panel,
05:40type in line but then click the arrow on the menu to bring up a list of CSS properties.
05:47Dreamweaver already highlighted line height for us.
05:51Click on that property name and your cursor is now in a new box for you to enter the value.
05:56Type in 1.6 this means that each line of text will be 1.6 times the height of a single line of text away from each other.
06:06The next box is asking us to set a unit.
06:09We actually don't want to set a unit for the line height property, by leaving off a unit we ensure
06:15that it will always be 1.6 times whatever font is set wherever on the page.
06:20So leave it set to multiple.
06:22You can see in the design view that there is now extra space in between the lines of text.
06:28This white space makes the text easier to read.
06:31So we now addressed the accessibility aspects of sizing and spacing text.
06:35Lets next look at how color of text affects it readability.
Collapse this transcript
Ensuring proper color contrast
00:00>> The size of the text and its ability to resize is not the only aspect of its style that effects how easy it is to read.
00:08The amount of contrast its color has compared to the background color is also very important.
00:13Let's look at how color contrast is measured, see if our page has sufficient color contrast so far and make changes where necessary.
00:21Color contrast is not specifically mentioned in section 508, but it is part of WCAG 1.0 and 2.0.
00:29in WCAG 1.0 the standard states ensure that foreground and background color combinations provide sufficient color contrast when viewed
00:37by someone having color deficits of when viewed on a black and white screen.
00:41No actual measurement is given in the standard so we have no way of knowing what sufficient contrast means.
00:48There are a couple of ways of measuring color contrast that are currently being proposed.
00:53WCAG 2.0 sets a luminosity ratio that must be met.
00:56It states that the contrast ration of text and background must be at least five to one, except if the text is pure decoration.
01:04For larger scale text, which is text that is 18 points or larger, or if it's bold, 14 points or larger, it could have a ratio of three to one.
01:14Another working group within the W3C, the Accessibility Evaluation and Repair Tools, or AERT, developed their own way of testing color contrast
01:23by looking at the difference in brightness and the difference in color.
01:27AERT recommends a difference in brightness of greater than 125 and a difference in color of greater than 500.
01:35It's not important to know the actually algorithms used to measure color contrast in both of these standards as we can use the analyzer tools
01:42that we downloaded and bookmarked in an earlier chapter to test this.
01:47Remember also that neither one of these are recommendations yet, so you don't have to comply with them,
01:53but they are useful to look at so they give us concrete numbers to test with and get an idea if our text is pretty high contrast
02:00or pretty low contrast and we can start preparing for whatever standard is ultimately adopted.
02:06If you're following along with the exercise files, open the page visitors.html in Firefox.
02:12It's in the 04_07 folder of the chapter four exercise files.
02:17This is the same page that we've been working on throughout this chapter.
02:20Let's take a break from styling this page to check our existing styles and see if they meet color contrast guidelines.
02:27We can use the color contrast analyzer extension that we previously downloaded into Firefox to test this.
02:34To access the tool, right click if you're on Windows or control click if you're on a MAC, on the page.
02:40This brings up a Context menu.
02:43Scroll down and select color contrast analyzer.
02:46You have the option of testing against both of the guidelines that we just talked about.
02:50Let's choose all tests.
02:52This opens a new tab with the results of our test.
02:56Every text element on the page is analyzed for its contrast between foreground and background.
03:01The names of the elements that were tested are listed along the left side of the results table.
03:06You can also see a sample of the foreground and background colors used for each element.
03:11Any elements that do not pass all three of the test will have a yellow highlight to their row in the report.
03:18The details of which tests we passed and failed are given in the last three columns of the table.
03:24It passes the luminosity contrast ratio tests.
03:28It also passes the difference in brightness test.
03:31But, if fails the difference in color test.
03:34However, it's very close to the guideline value of 500, so we might not have to change the color values too much in order to pass this test.
03:42Scroll down the page to see all of the results.
03:45The second row from the bottom is for the heading within the footer.
03:50We're not going to worry about passing or failing its test since it is not visible on the screen.
03:56Other than that heading, most of these headings are pretty close to the values needed to pass, so let's go into Dreamweaver
04:04and change our color values just a little bit to see if we can make the contrast a little bit greater.
04:09I have the same file, visitors.html, open in Dreamweaver.
04:15Open the CSS styles panel and scroll through the list of styles at the top.
04:23Choose the H1 rule.
04:25We need to modify its color, so click on the color value.
04:29Highlight over the numbers that are currently being used and delete them then type 195F6E.
04:37This color is also from the logo of the site, the darker color used in the flowers of the logo.
04:42Hit enter or return to accept this value.
04:45You can see that our H1 text is now a little bit darker.
04:49Go back into the CSS styles panel and click on this color again.
04:53Hit control C or command C on your keyboard to copy the value then click on the H2 rule above, now select its color value
05:03and hit control V or command V to paste in the new value.
05:07Finally, select the H3 rule above.
05:11Click on its color value and again press control V or command V then press enter or return to accept the value.
05:20Scroll down the page in design view to see the change in our headings.
05:25The color isn't too far off from what it was set to before, but it might be enough to help us pass all three tests.
05:34Go to the File menu and save the page.
05:38Then go back to Firefox, click on the tab where the visitor's page is still open and hit the reload button for it to show the new changes to the page.
05:51We can now run the color contrast analyzer again.
05:54Right click or control click on the page and select color contrast analyzer from the menu then all tests.
06:03This time you can see that the only row highlighted in yellow is the header and footer.
06:08Since this is not visible, we don't need to worry about it.
06:11We've passed all the other tests for all the other text on the page, so our page is now at a point
06:17where it has the basic structure and styles for the text in place and tested.
06:22There are a number of other HTML elements related to text that we can add to the page to enhance its accessibility.
06:29In the next few movies we'll go over the HTML for creating emphasized text, quotations and lists.
Collapse this transcript
Creating text emphasis
00:02>> Adding emphasis is not just about making certain words and phrases stand out visually, it should be a semantic markup practice as well.
00:11Emphasized words tell your users which words are more important and enhance the meaning of your text.
00:17There are two HTML elements that you can use for emphasizing text, the M tag and the Strong tag.
00:23The HTML element named M is completely different from the unit of measurement named M that we talked about earlier.
00:31The HTML M element is used to markup pieces of text you want to emphasize.
00:36The strong element is used to markup pieces of text you want to strongly emphasize.
00:42There's no official guidance on what makes something emphasized versus strongly emphasized, so it's up to you to decide which to use.
00:49You can use both or you could just pick one and use that throughout your site.
00:53The important thing is to just be consistent in which ones you use and how you use them to markup text.
00:59Using consistent HTML elements throughout your site for the same purpose will also help you keep your style consistent for these elements as well.
01:06Let's use Dreamweaver to add the M and Strong elements to our page.
01:10If you're following along with the exercise files, we're working on visitors.html,
01:15which is in the 04_08 folder of the chapter four exercise files.
01:19In Dreamweaver, you use the B and I buttons on the properties inspector to set text as strong or emphasized, respectively.
01:29In previous versions of Dreamweaver, the B and I buttons on the property inspector would add B and I tags for bold and italic,
01:39but those are presentational HTML elements that don't actually tell browsers what the text is.
01:44Strong and M have the same default appearance as B and I, so strong will be bold and M will be italic, but they carry more information.
01:54Let's first add an M element to the page.
01:56Highlight over the word perfect at the top of the page,
02:01click on the I button in the properties inspector to apply the M element to this piece of text.
02:07You can see in design view that it has now become italic.
02:11But if we look down at the tag selector below the document window, we can see that the tag being used is M, not I.
02:19Again, this is a more semantic tag that carries more information than the I tag did.
02:24Now let's add a strong tag.
02:26Highlight over the word renowned in the third sentence of the first paragraph,
02:31click on the B button in the properties inspector to apply the strong element to this text.
02:37Again, you can see that the text is now bold, but looking at the tag selector, the tag being used it strong,
02:44not B. We can use CSS to override these defaults, just like we did with heading.
02:50Click on the new CSS rule button at the bottom of the CSS styles panel.
02:55Click on tag for selector type.
02:58Click on the arrow of the Tag Select menu and scroll down to select strong as the tag.
03:07Leave this document only selected for the define in option.
03:14Click okay.
03:15Let's keep the strong tags bold by clicking on the Weight menu and choosing bold from the options shown.
03:23But let's also choose a color for our strong tags.
03:26Click on the color picker icon next to the color label.
03:30Let's select a bright red for the color.
03:32Choose the color CC0000 in the middle of the color palette.
03:38Click okay to accept these rules.
03:41If we now click off of the strong text so that it's no longer highlighted, you can see that it has applied the red color to the text.
03:48By setting this color in the CSS instead of in FONT tags or other presentational markup, we're ensuring that a variety
03:57of devices will know what this text is and can present it differently to their users.
04:02If we are consistent about using the strong tag throughout the site to emphasize text, we now have a central CSS rule
04:09that will ensure that all of them are visually consistent.
04:12This will help sighted users make better sense of the page.
04:16So we've seen how to use the strong and M elements to add more semantic information about your text.
04:21Next, we'll continue adding semantic with the blockquote HTML element.
Collapse this transcript
Indicating quotations
00:00>> The example page that we've been working on has a quotation from the Mayor of Wardscott on it.
00:04The proper HTML element for a quotation is the blockquote element.
00:09Since the default appearance of a blockquote is indented, it quickly became abused by web designers as a way to easily indent a block of text.
00:17Using a semantic element for presentational purposes in this way violates the concept of semantic markup.
00:24If we reserve the use of blockquotes for text that is truly a quotation, web devices can convey that information to their users.
00:31If you're following along with the exercise files, open the file visitors.html from the 04_09 folder of the chapter four exercise files.
00:40In design view, scroll down to see the entire quote.
00:43It's the second paragraph on the page.
00:45Highlight over all of its text then go to the insert menu.
00:53Scroll down and select HTML.
00:56From that menu, select text objects.
00:59Finally, in this last menu, select blockquote.
01:03As you can see, the text is now indented on both sides.
01:06As with the other elements that we've been working with, we can change this style to suit our design.
01:11Click on the new CSS rule button at the bottom of the CSS styles panel.
01:16Click on the tag option by selector type.
01:19From the Tag Select menu, choose blockquote.
01:24Keep this document only selected by the define in option and click okay.
01:29Let's make our quoted text bold.
01:31So select the Weight menu and choose bold.
01:35Let's also change the font.
01:37On the Font menu at the top of the dialogue box, click on the arrow and scroll down and select Georgia, Times New Roman, Times Serif.
01:46As one other option, let's change the line height.
01:49Click on the line height box and type 1.8.
01:53Click on the arrow of the Value menu next to that box and scroll down to the bottom to select multiple.
01:59This will ensure that our line height value has no unit set so that it will work with multiple font sizes.
02:05Click okay.
02:07You can see that the indented style of the blockquote still remains.
02:11We didn't override this in our CSS rule.
02:14We simply added more rules to it.
02:16We changed the font family, the weight and the line height.
02:20Another option you have with blockquotes is to add an attribute that specifies where the quotation came from.
02:25This is the cite attribute and its value is always a URL.
02:29This particular doesn't come from any other page, but let's look at how you would add the cite attribute to quotations that are from another source.
02:37Before we can assign a cite attribute to the blockquote, we need to make sure that we have the entire blockquote tag selected.
02:43Look in the tag selector bar at the bottom of the document window.
02:47The tag that is currently highlighted is the P tag.
02:50This text was previously marked up as a paragraph.
02:53When we added the blockquote, it simply wrapped around that paragraph.
02:56This is perfectly valid HTML.
02:58You can have many paragraphs within a single blockquote.
03:01So we don't need to remove that paragraph, but do click on the tag immediately before it, the blockquote tag.
03:07With the entire blockquote element now selected, go to the tag inspector panel, click the arrow beside its name to open that panel.
03:15This panel allows you to easily add attributes that are available for the selected HTML element.
03:21Click the plus sign by the general label.
03:23The only attribute listed is cite, because this is the only blockquote related attribute that exists.
03:30Click in the box next to cite.
03:32A text field will appear where you can type in a URL to another page on the web.
03:37Beside this text field are icons that allow you to either point or browse to a file that's on your local system as the source of the blockquote.
03:45Again, since this quotation did not come from another source, we don't need to set anything here.
03:50But this is yet another piece of information that web devices can make available to their users.
03:56For instance, when JAWS encounters a blockquote, it announces that it is a blockquote and then says
04:01where the citation is from if you do set a cite attribute.
04:04Go ahead and close the tag inspector.
04:08So, we've seen that the blockquote element carries a lot of information that can be conveyed to difference devices and to different users.
04:15It shouldn't be used for purely presentational formatting, but instead only when there is quoted text that needs to be indicated.
04:21Next we'll talk about how to add further information to your page using HTML lists.
Collapse this transcript
Creating basic lists
00:00>> Lists are another element in HTML that add structure to your text and provide information on how pieces of information relate to each other.
00:08They can be incredibly important to screen reader users.
00:11When a list is marked up correctly, many screen readers will announce when it comes to the list and say how many items are in the list.
00:18The user can then decide whether to skip over the list or not.
00:21If text is only given the appearance of being in a list, but not actually marked up as one in the HTML,
00:27the user will not be told when the list starts and will have no idea how much longer they have to sit through the reading of the list.
00:33If you're following along with the exercise files, open visitors.html in Dreamweaver.
00:39It's located in the 04_10 folder of the chapter four exercise files.
00:44In design view, scroll down the page to the events section.
00:49There's currently a block of text that is made to look like a list but has not actually been marked up as one.
00:55The three items under the sentence Wardscott's Annual Events include, just have dashes written in the text to make it look
01:02like a list and line breaks at the end of each line.
01:05This text should be changed to an unordered list.
01:08An unordered list is used to markup a series of information where the order of the items in the list is not important.
01:15It's rendered by default with bullets.
01:17You create an unordered list in Dreamweaver in the properties inspector.
01:21The button showing three bulleted lines turns selected text into an unordered list.
01:27The button to its right shows number list items.
01:30This is used to make an ordered list, which marks up a series of information where the order of items is important.
01:36It usually shows a progression or sequence and by default it's rendered with numbers or other sequential markers such as letters.
01:43Before we click the unordered list button to change the selected text into a list, we need to make some changes to it.
01:50Place your cursor before the text Wardscott Heritage Festival.
01:54Use the backspace key to remove the dash at the beginning of that line as well as the line break between the sentence
02:01that precedes it then hit enter or return to create a new paragraph.
02:05Repeat this process for the next two lines.
02:08Remove the dash, remove the line break and then hit enter to create a new paragraph.
02:17This is the ideal starting point to create a list in Dreamweaver.
02:21Highlight over these three new paragraphs.
02:24Now you can click the bulleted icon on the properties inspector to create an unordered list.
02:30Dreamweaver changes each paragraph into a list item within the unordered list.
02:35Let's see how screen reader may handle this list.
02:38Click on the globe icon in the document toolbar at the top of the window.
02:43Select preview in Firefox from the menu.
02:46You'll be asked to save the page, so click yes.
02:49You can scroll down the page and see our bulleted list.
02:56Now let's launch JAWS and see how it handles the list.
02:59If you're on a MAC, you can use the voice over screen reader to read this page, but keep in mind that it doesn't currently announce
03:05when you're coming to a list or how many items are in the list.
03:09To launch JAWS, go to your Start menu and click on JAWS in your programs list.
03:16>> Digital Voice: JAWS 40 minute mode.
03:18Desktop. To move between items press the arrow keys.
03:21Page has 8 settings and no links.
03:23Visitors vertical bar Town of Wardscott heading level two section navigation.
03:27>> I just pressed the control key to stop JAWS from reading the entire page.
03:32What we're interested in at this point is how it reads the list.
03:35To jump directly to the list press the L key on your keyboard.
03:39I'm going to do that now.
03:40>> Digital Voice: List of three items.
03:42>> As you heard, JAWS announces that it is a list and how many items are in it.
03:47If we are interested in hearing this list, we should press insert and the down arrow to make JAWS read from this point on the page onward.
03:54If the list was very long and we didn't want to read it, we should press the D key on the keyboard to move to the next different type element.
04:01In other words, the next element on the page that is not a list.
04:05So we've just created a basic unordered list and seen how it can be used by a screen reader.
04:10Next we'll change the visual style of the list using CSS.
Collapse this transcript
Styling lists
00:01>> As we talked about earlier with headings the default appearance of certain HTML elements can deter people from using them correctly.
00:08If your not using real list because you need custom image bullets or other unique styles.
00:13It doesn't take much CSS to do that formatting and keep your HTML clean and semantic.
00:20Let's change the appearance of the list we created in the last movie.
00:23If you are using the exercise files then the name of the page is visitors.html and its located
00:29in the 04 11 folder inside the chapter four exercise files.
00:34Let's create a new CSS file by clicking on the new CSS rule button at the bottom of the CSS panel.
00:41In the new CSS rule dialog box choose tag as the selector type.
00:47In the Tag Select menu click on the arrow and scroll down the list to choose UL, this will make the rule affect all unordered list on the page.
01:00Keep this document only selected in the define in option, then click okay.
01:05The CSS rule dialog box appears lets start with some very simple styles for the list.
01:14Click on the list category on the left side of the dialog box.
01:19Then click on the Type menu.
01:22You'll see a number of options for standard bullet types.
01:25The default bullet for unordered list and most browsers is disc.
01:30Let's choose square, don't make any other changes at this point but just click okay.
01:36In design view scroll down the page, the list is now indicated by small square bullets.
01:47We can see in the CSS styles panel that the name of the CSS property that controls the bullet type is called list style type.
01:55This is the same property that you would use to change the list marker type on an order list as well,
02:01say for instance if you wanted to change from numbers to letters.
02:05Now that we know how to make basic changes to our list styles lets look at some more unique things that we can do to style the list.
02:12Click on the UL rule in the all rules listing o the CSS styles panel then click on the pencil icon on the bottom of the panel to edit the style
02:22by bringing up the CSS rule definition dialog box again.
02:26It opens with the list category by default the same category selected by default, the same category that we were on before.
02:33Select the Type menu again but this time choose none.
02:38This turns off all bullets on the list.
02:40We're going to use a background image instead to create the bullet.
02:44You'll see under the Type menu that there's a field for bullet image, while you can use that field to set an image as a bullet
02:51for your list it doesn't allow you any type of precise positioning of that image and relationship to the list text.
02:59If we instead use a background image for the bullet on the list we have all the related background properties to control its appearance.
03:07Before we add that image though we need to change the default margin and the padding on the list, this makes sure that all browsers are starting off
03:16from the same baseline so that we can create the proper spacing and make sure our list text overlap our background bullet image.
03:24So click on the box category and the CSS definition dialog box.
03:30Under padding keep the same for all box checked and then enter zero in the top field Dreamweaver fills in a value of zero for the rest of the sides.
03:40Under margin uncheck the same for all box, set the top margin to zero, the right to zero as well
03:48and the bottom box type 1.2 and for its unit select em's.
03:57This ensures that sufficient space is left between lines of text no matter how big the font size is.
04:03Finally for the left value type 20 and leave the unit set to pixels.
04:08The amount of space to the left and right of this element does not need to scale proportionally with the text
04:13so that is why we are choosing pixels here instead of em's now click okay,
04:18you'll see that the list now has no bullets but it still is indented on the left side.
04:24The bullet background image needs to be added to each individual list itself.
04:29So we need to create a new rule for the LI element.
04:33Click on the new CSS rule icon on the bottom of the CSS styles panel.
04:39Choose tag for the selector type then in the Tag menu scroll down and select LI form the list of text,
04:51keep this document only selected for the define in option and click okay.
04:56In the CSS definition rule dialog box choose the box category.
05:01Under padding uncheck the same for all box and type zero for the top, right and bottom fields.
05:10In the left field type 16 and leave pixel set as the unit of measurement, this value creates empty space on the left side of each list item.
05:20This is where the background image will be positioned by setting the padding on the left side
05:25of the list item to be at least as big as the background image.
05:29We're ensuring that it will never overlap that image.
05:32Under margin for all checked and then enter zero in the top field.
05:38Now click on the background category of the dialog box, here's where we can finally choose our background image.
05:44Click on the browse button, under look in navigate to the exercise files folder on your system.
05:52Go to the chapter four folder.
05:55Then chose the 04 11 folder inside that double click on the images folder from the list of images shown click on bullet_flower then click okay.
06:10In the repeat field back in the CSS rule definition dialog box chose no repeat as the values.
06:19Just make sure the background image does not tile throughout the list item, it only shows once.
06:24For the horizontal position enter zero, this means we want to the back ground position to be all the way to the left side of the k=list item,
06:32choose percent as the unit of measurement simply because that's the unit of measurement we're going to use for the vertical position box.
06:39Click in that box now and enter 50 then choose percent from the unit of measurement field beside of it.
06:4850 percent will keep the bullet vertically centered with the list item text, now click okay.
06:54The bullet image that we chose now shows beside each list item.
07:00You can use background images on list items in this way anytime you need a custom bullet.
07:05In the next chapter we will continue working with list but take the styles up a notch to turn list into navigation bars and menus.
Collapse this transcript
5. Creating Navigation
Using lists for navigation
00:01>> In the last chapter, we learned how to create HTML lists and saw how useful they can be too many screen reader users
00:08who can often jump directly to them or skip over them.
00:12In this chapter, we'll continue working with lists over several movies to create navigation elements for the example site we've been developing.
00:19We'll also go over creating accessible links and fly out menus.
00:24If you're following along with the exercise files, open the page visitors.html from the folder 05_01 in the chapter five exercise files.
00:34We're going to add a navigation bar to this page so that we can start building other pages in the site and linking them all together.
00:40Go to Dreamweaver's insert toolbar at the top of the screen.
00:44Click on the layout tab.
00:46Click the insert DIV tag button, which is immediately to the right of the button labeled, expanded.
00:52This brings up the insert DIV tag dialogue box.
00:55From the Insert menu, choose before tag.
01:00Then in the adjacent menu, select DIV ID sidebar 1.
01:05In the ID box, type name then capital NAV.
01:10Now click the new CSS style button.
01:13This brings up a new dialogue box asking you to create a new CSS rule.
01:18We'll first create some styles for this new DIV then go back to the insert DIV box to add it to the page.
01:24Leave the selector type of advanced chosen and leave the selector name of main NAV in the selector field.
01:32Also, keep this document only selected in the define in option, then click okay.
01:37In the CSS rule definition dialogue box, first choose the color option.
01:44Click on the color picker and choose white.
01:47Next, click on the background category of the dialogue box.
01:50Click in the field to type a background color.
01:53Type #272910.
01:57We're also going to set a background image on our main navigation DIV.
02:01Click the browse button beside the background image field.
02:04This brings up a dialogue box where we can select the image to use.
02:08If you're using the exercise files, browse to that location on your machine then choose chapter five, then 05_01,
02:19then the images folder and then choose the mainnav_bg_image file.
02:25Click okay.
02:26Back in the CSS rule definition dialogue box, click on the Repeat menu and choose repeat X. Finally, in the Vertical Position menu, choose bottom.
02:37This will take the background image that we've added and repeat it across the page horizontally.
02:42It will pin it to the bottom of the DIV so that as the text grows bigger, the background color that we've set will fill in the extra room
02:48above the background image if it becomes too small to fill the new height of the main NAV DIV.
02:54Let's set one more style for this DIV.
02:56Click on the border category of the dialogue box and uncheck all of the three same for all checkboxes.
03:03We're just going to set a border on the top of the box, so in the top box, underneath style, click on the menu and select solid.
03:12In the top box under width, type 1 and leave pixels selected as the unit of measurement.
03:19Under color, click on the color picker for the top option and select white.
03:26Now click okay.
03:29We're taken back to the insert DIV tag dialogue box.
03:33That's because we still haven't added this DIV to the page, we've just created its styles.
03:37We've already told Dreamweaver where we want the DIV to be added to and what it's ID should be, so now we can click on okay.
03:46The new DIV is added to the page with placeholder content.
03:49We're going to place a list with the main areas of the site into this new DIV.
03:53In the exercise files, open the file mainnav.doc from the chapter five folder.
03:59Select all of the content in this document then hit control C or command C on the keyboard to copy the text.
04:08Return to Dreamweaver.
04:10We want to make sure that this text pastes in with its structure intact.
04:14If you're not sure if your copy of Dreamweaver is set to do this by default, go to the edit menu and choose paste special.
04:23Here we can choose to paste in the text with its structure.
04:27Click okay.
04:29Let's go into the code view to make sure that Dreamweaver pasted in the content correctly.
04:33Click on the code view button in the document toolbar.
04:36We're taken to the point in the document of the main NAV DIV.
04:40The first element what pasted in was an H2 element.
04:44This labels the section as the main navigation section, just like we did for the section navigation for the footer areas of the site.
04:51We next have a UL element, an unordered list, but you can see that there's an extra UL tag at the beginning of this list.
04:59We don't want that here so delete it.
05:01Highlight over and just delete.
05:04Now the structure is as we need it.
05:06We have a main NAV DIV, a heading and an unordered list.
05:11Click on the design view button.
05:13Now we need to add links to each of these items.
05:16Click on the link field on the properties inspector.
05:20Type index.html.
05:22Next, highlight over residence.
05:27Then click in the link field and type residence.html.
05:34Highlight business and type business.html for its link.
05:42Highlight over government and type government.html for its link.
05:51Highlight over visitors and type visitors.html for its link.
06:00Highlight over departments and type departments.html for its link.
06:06And finally, highlight over newsroom and type newsroom.html for its link.
06:16We now have a main navigation area with a heading to label it as such and then a series of links to the main areas of the site.
06:26Since the main links of the page are made with a list, screen readers can easily jump over the entire list and get straight to the next block
06:33of content, but this definitely doesn't look like a NAV bar yet.
06:38Next, we'll add the CSS to transform the appearance of this list into a standard type of NAV bar.
Collapse this transcript
Creating a horizontal navigation bar
00:01>> In the last movie we created the structure of a NAV bar.
00:05Now we'll add the CSS to make it look like a NAV bar for sighted users.
00:10If you're following along with the exercise files, open the page visitors.html from the 05_02 folder of the chapter five exercise files.
00:19We'll continue to edit it in Dreamweaver.
00:21First let's add the off left class to the main navigation heading so that we can move it off the screen
00:27as we did earlier with the section navigation and footer headings.
00:31Highlight over the text.
00:32In the properties inspector click on the Style menu.
00:36From the options show, choose the off left class.
00:41The main navigation heading has now disappeared.
00:44Remember, it's still in the source so that it can be read by screen readers, text browsers and other devices that do not use CSS.
00:51Now to start making this look like a NAV bar, we first want to remove the default list styles so it will no longer look like a regular list.
00:59In the CSS styles panel, click on the new CSS rule button at the bottom of the panel, choose advanced as the selector type.
01:08In the selector field, highlight over the default text that is shown and delete it then type #mainNAV UL.
01:20This selector targets the UL element that is within our mainNAV DIV.
01:26Keep this document only selected for the define in option and then click okay.
01:32The CSS rule definition dialogue box opens.
01:35Here we're just going to remove default list styling so click on the box category in the left side of the dialogue box.
01:42Leave the same for all box under padding checked and enter zero in the top field.
01:49Under margin, leave the same for all box checked as well and again, enter zero in the top field.
01:55Next, click on the list category of the dialogue box, choose the Type menu and scroll down to the bottom and choose none.
02:06This removes any bullets that might appear on the list.
02:09Now click okay.
02:11Next, we need to make the list items stop stacking on top of each other and instead sit side by side.
02:17We're currently using the float property on the sidebar of the page.
02:21It moves it off to the left and allows other content to sit beside it on the right.
02:26If we float every single list item, they will all line up together on a single line instead of tacking one on top of another.
02:34Click on the new CSS rule button at the bottom of the CSS styles panel.
02:38In the new CSS rule dialogue box, leave advanced checked as the selector type.
02:43In the selector field, delete the default text that is shown and type #mainNAV LI.
02:51This selector targets all of the list items within the mainNAV DIV.
02:59Leave this document only selected and click okay.
03:02As with the UL element, we first want to remove the default list styling, so click on the box category.
03:11Leave both the same for all boxes checked under padding and margin and in both of the top boxes, enter zero.
03:21Above the margin section of the screen, you can see a Float menu.
03:25Click on the arrow of that menu and you'll see that you options are left, right and none.
03:31Choose left.
03:33Next, let's remove the flower bullet background image from these LI's and add a new background image for them in the NAV bar.
03:40So click on the background category of the dialogue box then click on the browse button beside the background image field.
03:47In the select image source dialogue box, browse to the location of the exercise files on your computer, choose the chapter five folder
03:59and the exercise files then click on the 05_02 folder then click on the images folder.
04:07Choose the image named mainNAV_divider.jpg then click okay.
04:15In the Repeat menu, back in the CSS rule definition dialogue box, choose no repeat.
04:22This background image is simply a divider line and we only want it to show one time on each list item.
04:28In the Horizontal Position menu, choose right and in the Vertical Position menu, choose top.
04:34This will position the divider line background image on the right side of every list item text.
04:40Now click okay.
04:41You can see that now the list items are appearing side by side, but the dark brown background on the mainNAV DIV has disappeared.
04:49This is because floats are removed from the flow of the document, meaning other content around them essentially doesn't know they exist.
04:56With the list items floated, it's as if no content now exists inside the mainNAV DIV, so this DIV collapses to zero height.
05:04To fix this, we need to add an element to the bottom of the DIV below the floated list items that is set to clear the floats.
05:11This will make the mainNAV DIV expand down to contain this item.
05:15Dreamweaver pre-made layouts comes with a class named clear float that is already available to use for this purpose.
05:22Let's go into code view.
05:24So click on the code button in the document toolbar.
05:27We're taken to a spot in the code showing a mainNAV DIV.
05:30Immediately above it in the code is the header DIV.
05:33Inside the header DIV is a <BR> for line break that has a class of clear float set on it.
05:39Highlight over this break element and go to the Edit menu and select copy then place your cursor after the </ul> tag
05:49in the mainNAV DIV and hit enter or return to go to a new line.
05:53On that new line, again go to the Edit menu and select paste.
05:58Since this break element is not floated, the mainNAV DIV now has some content within it that it can expand to contain
06:05and show the background below the floated list items.
06:08Click the design button on the document tool bar to go back to design view.
06:12You can see that the background has now returned.
06:15Next, let's add the styles to the links inside the list.
06:18Click on the new CSS rule button at the bottom of the CSS styles panel.
06:22Leave advanced selected as the selector type.
06:25In the selector field, delete the default text that is shown and type #mainNAV A. This selects all
06:35of the A elements or the links inside of the mainNAV DIV.
06:40Leave this document only selected for the define in option and click okay.
06:45We want these links to not act like regular text links but more like buttons.
06:50So we want a large area around the text to be clickable, not just the text itself.
06:54To do this, we can change the A elements from being inline elements to block elements.
07:00Block elements are things like DIVs, paragraphs and lists where every item starts on a new line and stacks one on top of each other.
07:08Inline elements are things like the A tag, the M tag, the strong tag, where the element sits in the same line with other elements.
07:17Click on the block category in the dialogue box.
07:20The last option on the screen is a display menu.
07:23Click on the arrow next to that menu and choose block, the third item down.
07:28Next, let's expand the space around each of the A elements to expand the clickable area of each.
07:34So click on the box category in the dialogue box, uncheck the same for all box under padding,
07:40in the top box type six, leave pixels selected as the unit of measurement.
07:45Also type six into the bottom field under padding.
07:48This adds six pixels of space on top and below each A element.
07:52In the right field enter 16.
07:55leave pixels selected.
07:57And then in the left field enter the same value of 16 pixels.
08:01Next, we want to get rid of the default blue link color and their default underlines.
08:06Click back on the type category of the dialogue box.
08:10Click on the color picker next to the color field and select white.
08:16There are five checkboxes shown for setting the decoration type of the element.
08:21Click on none.
08:22This removes the default underline of the links.
08:26Click on okay.
08:28The links are nicely padded and spaced out from each other.
08:31The finishing touch that we're going to add is a rollover effect on the links.
08:36We can use the hover pseudo class in CSS to make the link's background color change when the mouse passes over it.
08:43In order to make the effect happen for keyboard users when they tab to the link, we'll also add the focus pseudo class.
08:50The focus state of a link is basically when it is selected and when you tab to a link you're giving it focus.
08:57Click on the new CSS rule button at the bottom of the CSS styles panel.
09:02Leave advanced selected as the selector type and delete the default text shown in the selector field, type #mainNAV A:hover.
09:12Since we want to set the same styles for focus, we can group that selector with this selector by inserting , #mainNAV A:focus.
09:29Finally, in order to make this rollover work in Internet Explorer, we'll add one more selector to this group.
09:44Type , #mainNAV A:active.
09:49Internet Explorer doesn't use the same pseudo class of focus that the other browsers do, but instead uses a pseudo class of active.
10:01Setting all three of these pseudo classes at once covers all of our bases.
10:05Click okay to bring up the CSS rule definition dialogue box.
10:10All that we're going to do on rollover is change the background color, so click on the background category.
10:17Place your cursor inside the background color box and type #4F3B18.
10:24This is simply a lighter shade of the brown that's currently being used on the NAV bar.
10:33click okay to accept the rule.
10:35We're not going to see the rollover effect until we look in a browser, so let's go ahead and preview in Firefox now.
10:44Click on the globe icon in the document tool bar and choose preview in Firefox.
10:48When asked to save the changes to the page, click yes.
10:52You can see that we now have what looks like a standard NAV bar.
10:57if we hover over the links you can see that the background color of each changes.
11:04Let's also try tabbing to the links.
11:06Simply hit the tab key on your keyboard.
11:08This will take you to the first link on the page, in this case, home.
11:12It adds a dotted outline around the link, the default style for focus, and also a brown background.
11:19Continue to hit the tab key and you can see how you continue to move through the links.
11:24To activate any of these links, you would simply press the enter key on your keyboard.
11:30Close the Firefox page now.
11:33Let's also check the page in Internet Explorer 7 to make sure it's working there as well.
11:38Click on the globe icon in the document tool bar back in Dreamweaver and choose preview in IExplore.
11:47In Internet Explorer 7, the background is not showing in the NAV bar.
11:52this makes the links almost invisible until we mouse or tab over them, so we definitely want to fix this issue.
11:58Close the Internet Explorer window and return to Dreamweaver.
12:02Internet Explorer has a proprietary CSS property called has layout.
12:06Frequently CSS rules will not work until has layout has been set as well.
12:12The way we can set has layout is by setting a width or another dimension on our DIV.
12:17in the CSS styles panel, select the mainNAV rule.
12:20If you scroll down within the properties pane, you'll see that we're not currently setting any dimension on this element.
12:26On the bottom of the pane is the add property link.
12:29Click on this.
12:30Type in width.
12:31Then click on the box next to this field, type 100, and in the unit of measurement menu next to this field, select percent.
12:39This won't change the appearance of the DIV in any other browsers since all DIVs are 100 percent wide
12:46by default, but it should fix the problem in Internet Explorer.
12:50Let's preview again to make sure.
12:52Click on the globe icon in the document toolbar and choose preview in IExplore.
12:58Click yes to save changes to the page.
13:00Now when the page is brought up, you can see that the background is there.
13:07the same rollover effect also works.
13:10So we've seen that we can use CSS to take a simple list and turn it into a horizontal navigation bar with rollover effects.
13:17Next we'll learn how to style a list to look like another type of common layout element, the Vertical menu.
Collapse this transcript
Creating a vertical navigation bar
00:02>> Up until this point, our example site has had nothing in the side bar except for the hidden section navigation heading.
00:09Let's add that section navigation menu now.
00:12We'll once again use a list and style it using CSS to appear like any other vertical menu.
00:18Let's continue working on the same page, visitors.html, in Dreamweaver.
00:23If you're using the exercise files, this page is saved in the 05_03 folder of the chapter five exercise files.
00:31We also need to open the file sectionnav.doc from the chapter five exercise files folder.
00:37Go to that Word document now.
00:40This is the list of links that we're going to add to our vertical menu.
00:44Select all of the content in the page.
00:46Hit control C or command C to copy the text.
00:50Go back to Dreamweaver and open visitors.html page.
00:55Click inside the side bar DIV, which is outlined with a dotted line, then hit control V or command V to paste in the list.
01:04Let's go into code view to make sure the list pasted properly.
01:08Click on the code button in the document tool bar.
01:11Scroll up so that you can see the entire HTML.
01:14Again, we have an unordered list with a series of list items.
01:18Once again, an extra UL element has been pasted in, so just delete this line.
01:25While we're in code view it would also be good to add in an extra DIV that wraps around both the section navigation heading and the list below it
01:33to make sure that they always stay grouped together in case we later add more content into this side bar below the section navigation.
01:41Place your cursor before the opening H2 tag and hit enter or return to create a new line, type an opening <DIV ID="sectionNAV">.
01:48Now let's put in the </DIV> after the </UL>.
01:53Hit enter or return to go to a new line.
01:57As you begin typing </DIV> and put in the slash, Dreamweaver will finish the closing tag for you.
02:07Now let's go back into design view by clicking on the design button in the document tool bar.
02:16We need to create the links on each of these items.
02:19Highlight over history of Wardscott.
02:22In the link field of the properties inspector, type history.html.
02:30Highlight over where to stay and for the link type stay.html.
02:39Highlight over what to do and see and for the link type see.html.
02:46Highlight over where to eat and drink and for the link type eat.html.
02:55Highlight over how to get here and for the link type gethere.html.
03:03Finally, highlight over visitor's bureau and for the link type bureau.
03:14Now we can begin adding styles to the div, the list and the links.
03:18Click on the new CSS rule button at the bottom of the CSS styles panel.
03:22Leave advanced selected for the selector type.
03:26Clear out the default text in the selector field and type #sectionNAV.
03:32Leave this document only selected for the define in option and click okay.
03:39First let's set the margin and padding of this DIV.
03:42Click on the box category.
03:44Under padding uncheck the same for all box.
03:47In the top field enter 20, in the right enter zero, in the bottom field enter 14 and in the left enter zero.
03:59Leave pixels set as the unit of measurement for all of these fields.
04:04Uncheck the same for all box under margin as well.
04:08In margin's fields enter zero in the top field, fifteen in the right field, zero in the bottom field and fifteen in the left field.
04:21The margin gives us space around the DIV on each side.
04:26The passing gives use space inside the DIV.
04:29Now click on the background category.
04:31Click inside the background color field and type #EEF0E3.
04:40We're also going to set a background image so click on the browse button beside the background image field.
04:46In the select image source dialogue box, browse to the location of the chapter five exercise files on your computer,
04:54click on the 05_03 folder then on the images folder, select the sectionNAV_bg image and click okay.
05:04Back in the CSS rule definition dialogue box, choose repeat X from the Repeat menu.
05:10In the Vertical Position menu, choose bottom.
05:15Now click okay.
05:16We now have a block for our section navigation menu.
05:19In order to make this menu appear as if it's coming directly out of the bottom of the mainNAV bar,
05:25let's remove the top padding that is currently set on the side bar DIV.
05:29In the CSS styles panel, scroll up in the all rules pane, select the sidebar one rule.
05:37In its properties, shown below, click on the padding declaration, then click on the trash can item
05:42at the bottom of the panel to remove all of the padding.
05:45Now the section navigation DIV is starting directly at the top of the sidebar.
05:53Let's continue styling the list and the links.
05:56Click on the new CSS rule button at the bottom of the CSS styles panel.
06:00Keep advanced selected as the selector type.
06:03Clear out the default text in the selector field and enter #sectionNAV UL.
06:10Click okay.
06:13Click on the box category in the CSS rule definition dialogue box.
06:19Leave both of the same for all checkboxes checked and enter zero for both the top fields.
06:27We're just removing the default list spacing.
06:30Click okay.
06:32Next, click on the new CSS rule button at the bottom of the CSS styles panel again.
06:38Leave the advanced selector type chosen and in the selector field, clear out the default text and type #sectionNAV LI.
06:48Click okay.
06:51Go to the box category, again leave the same for all checkboxes checked under both margin and heading
06:57and enter zero in both top fields for margin and heading.
07:01Next, click on the background category.
07:05You want to remove the default background image of the flower bullet from this particular list.
07:10So click inside the background image field and type none.
07:15This will override the previous style and get rid of that image from this list.
07:20Finally, click on the border category.
07:22Uncheck all of the three same for all checkboxes.
07:26In the bottom field under style, select the menu and choose solid.
07:32In the bottom field under width, enter one and leave pixels selected as the unit of measurement.
07:39And in the bottom field under color, type #D5DDDD.
07:46Now click okay.
07:51Next, let's add a style for the links themselves.
07:54Click on the new CSS rule button at the bottom of the CSS styles panel.
07:59Leave advanced selected as the selector type.
08:02Clear out the default text in the selector field and enter #sectionNAV A. Click okay.
08:12As with our horizontal menu that we made earlier, we want the full area of each link to be clickable, not just its text.
08:19So click on the block category, in the Display menu click the arrow and scroll down to select block as the option.
08:28Now let's add some spacing between the links.
08:30Click on the box category.
08:33Uncheck the same for all box under padding.
08:35For top enter 4, for right, 10, for bottom 2, and for left 16.
08:44Leave pixels selected as the unit of measurement for all of these fields.
08:47Finally, click back on the type category.
08:51In the color box type #257483.
09:01Then check the none box under decoration.
09:04Now click okay.
09:05Our last step will be to add rollover effects as we did with the horizontal navigation bar.
09:11Click the new CSS rule button at the bottom of the CSS styles panel.
09:15Leave advanced selected as the selector type and clear out the text within the selector field.
09:21Type #sectionNAV A:hover, #sectionNAV A:focus, #sectionNAV A:active.
09:25As we talked about earlier, this makes the rollover effect work for both mouse users and keyboard users.
09:34Leave this document only selected and click okay.
09:38This time, instead of changing the background color for the rollover, we'll change the text color.
09:50Click in the color field and type #272910.
09:56Now click okay.
09:58Let's preview the page in a browser to see how it will work.
10:05Click on the globe icon in the document tool bar and choose preview in Firefox.
10:11When asked to save the changes to the page, click yes.
10:17Try moving your mouse over the items in the left navigation menu.
10:24You can see the color change, but let's also try tabbing to them.
10:34First we're going to have to tab through all of the links in the main navigation bar.
10:40So hit tab on your keyboard until you move to the first link in the section navigation menu.
10:48You'll see a dotted outline around the first link and the text color will change.
10:53If you continue to hit tab, you'll move through each of these links in order.
10:57Close Firefox and lets again check this page in Internet Explorer.
11:02Click on the globe icon in document tool bar and choose preview in IExplore.
11:08This time there are not problems with the menu in Internet Explorer.
11:12It looks and works the same as it did in Firefox.
11:16So we've learned how to style a list to look both like a horizontal NAV bar and a vertical menu.
11:22We've been using lists in this way because they're the correct semantic markup for a series of links and provide additional structure
11:29to help screen reader users skip sections of the page they aren't interested in.
11:33Another important tool to help screen reader users get to the content they want quickly is the skip navigation link.
11:40We'll talk about that next.
Collapse this transcript
Adding skip navigation links
00:02>> Both section 508 and WCAG guidelines recommend providing a way for users to skip over groups of links.
00:09Sighted users can scan the page with their eyes to find the information that they want quickly.
00:14Users with screen readers and other assisted devices do not have this visual scanning ability they are going to have to hear the logo
00:22and navigation read out to the each time they access another page in our site.
00:27We've seen that grouping links into list can make it easier for screen reader users to jump pass an entire nav bar.
00:33However not all screen readers maybe familiar with this function if it is even exist in there screen reader.
00:41The voice over screen reader on the MAC doesn't currently announce list or offer any special way to jump past them.
00:47The inability to skip repetitive links can also be a problem with mobility impairments who use the keyboard to navigate instead of a mouse.
00:55Imagine you have a form on your page that a user wants to fill out, a keyboard user can't just use his or her mouse over the first field click
01:03in it and start typing, instead the user has to tab trough all the links until he or she finally arrives at the first form field.
01:12So this is where what is called a skip navigation link comes in.
01:17this is simply a normal link that is placed at the top of your page and is linked to the spot further down your page where the content starts.
01:26When a user encounters this link he or she can follow it directly to the content or ignore it if he or she wants
01:33to use the nave bar or the other content at the top of the page.
01:36If your following along with the exercise files open visitors.html in Dreamweaver from the 04 05 folder in the chapter 5 exercise files,
01:47we are going to add a DIV with skip navigation links in it at the top of our page.
01:52Go to the insert toolbar and click on the layout tab, then click on the insert DIV tag button just to the right of the button labeled expanded.
02:01In the insert DIV tag dialog box click on the arrow of the insert menu and choose after start of tag
02:09and then in the adjacent menu select DIV ID header, this will place out new DIV immediately inside the top of the header DIV.
02:18In the ID box type skipLINKS then click the new CSS style button to bring up the new CSS rule dialog box, choose advanced as the selector type,
02:31leave the default text that Dreamweaver puts in the selector field a pound sign and then skipLINKS intact
02:37and also leave this document only selected for the define in option, click okay.
02:43The only change we are going to make at this point is positioning the DIV.
02:48We're going to give it a value of absolute.
02:51As we talked about earlier with our off left positioning method absolute positioning pins an object to a particular point on the page and takes it
03:00out of the flow so that it doesn't interfere with any of the content around it.
03:04We don't want out skipLINKS to push our logo further down in the header DIV, so we want to get it out of the flow by using absolute positioning.
03:11Click on the positioning category in the CSS rule definition dialog box, in the type menu click the arrow and select absolute, now click okay.
03:22We're back at the insert DIV tag dialog box.
03:25We've already chosen the settings for this DIV so click okay.
03:28The DIV is now added to the top of the page with placeholder content.
03:33It didn't move the logo down because it is absolutely positioned.
03:37We now need to add our links inside this DIV, if you are using the exercise files open document skipLINKS.doc in Word.
03:45There are actually two skip navigation links listed in this document.
03:50One is going to skip the user directly to the main content.
03:53This is where the user might want to go most of the time.
03:57But they may also want to go straight to the section navigation if they are looking for a particular link.
04:02So we're also going to offer them a skip to section navigation link.
04:07Both of these links will let them bypass the main navigation bar.
04:11Highlight over all of the content in the document and hit control C or command C on your keyboard to copy it, go back to Dreamweaver.
04:21Highlight over the placeholder in the skipLINKS DIV and hit control V or command V on your keyboard to paste in the new content.
04:30Now click on the code button in the document tool bar.
04:34We want to make sure that the content pasted in correctly.
04:37We do have a list and two list items as we wanted.
04:41But again we have an extra UL tag at the start, so delete this line of HTML.
04:46Now click on the design button in the document toolbar.
04:49We need to link each of these pieces of text to the appropriate spots furthers on the page that we want them to go to.
04:56We don't need to create new anchor elements on the page to do this.
05:00Instead we can link directly to any ID attribute on any page.
05:04Our main content DIV has an ID of main content set on it.
05:08So in order to jump to that DIV all we need to do is link to that ID.
05:13Highlight over the text, skip to main content.
05:16In the link field of the properties inspector type #mainCONTENT this is just like creating a link to an anchor on the page but it saves us
05:30from having to add an additional HTML element to our source.
05:35Now highlight over the skip to section text in the skipLINKS DIV.
05:40in the link field of the properties inspector type #sectionNAV this will jump us directly to the section DIV inside the side bar.
05:54Now we can begin styling these links.
05:59Click on the new CSS rule button at the bottom of the CSS styles panel, leave advance chosen as the selector type and delete the text
06:07in the selector field, type in #skipLINKS UL click okay.
06:15In the CSS rule definition dialog box chose the box category.
06:22Leave the same for all boxes checked under both padding and margin and enter zero in the top fields for both of these.
06:32Now click ok.
06:33Next let's style the list items, click on the new CSS rule button on the bottom of the styles panel.
06:41Leave advanced selected at the selector type and clear out the default text in the selector field,
06:47type #skipLINKS LI leave this document only selected and click okay.
06:56We want each of the list items to sit side by side instead of stacked on top of each other.
07:01To do this we can use the float property as we did before but this is going to interfere with some styles that we will add later.
07:08So another option is to set the display property to inline.
07:12As we talked about earlier, blocked display items stack on top of each other where as inline items sit on the same line as each other.
07:20So click on the block category on the CSS rule definition dialog box, in the display box click the arrow and scroll down to select inline.
07:30Next go to the box category, leave the same for all box checked under margin and enter zero in the top field.
07:38For padding uncheck the same for all box.
07:41Now that the list items have a display value of inline, they will butt right up against each other so we need to add some padding
07:48between them, we'll add it on the left side of each list item.
07:51In the left box under padding type .5 and in the unit menu next to that field select em's,
08:01this will make sure that at largest text sizes the spacing between the items will also grow to be larger to make sure that it is still readable.
08:08Finally click on the background category, we just need to remove the bullet flower image, so click in the image background field then click okay.
08:23Next let's style the links, click on the new CSS rule button on the bottom of the CSS styles panel.
08:29Leave advanced selected at the selector type and clear out the default text in the selector field,
08:35type #skipLINKS A leave this document only selected and click okay.
08:44All we are going to do here is change the color from the default blue to white so click
08:48on the color picker next to the color field and chose white then click okay.
08:54The links will now work and are styled but we could position them in a better place in the heading to make them more readable.
09:01Right now there position is conflicting with the photo we have in the header.
09:05Let's position them on the right side of the screen at the bottom over the water area of the header photo which has a more solid background.
09:14In order to position the links relative to the header we first need to set a positioning value on the header itself.
09:20In the CSS styles panel scroll up in the all rules pane select the header rule.
09:30Click on the add property link in the property pane, type in position and in the field next to it and select relative,
09:42this tells any elements that are within the header and that are absolutely positioned
09:46that they should base their positioning off of the header not off of the body tack.
09:50Now we can edit the rule for the skipLINKS DIV to change its positioning.
09:54Scroll down in the CSS styles panel in the all rules pane and select the skipLINKS rule, click on the add property link,
10:05type right and in the field next to it type 10 and in the final field select pixels as the unit of measurement.
10:15When you hit enter to accept the style you will see the skip navigation links jump over to the right side of the screen.
10:22To move them to the bottom, click on property type in bottom in the field next to it type in 10 and leave pixels selected as the unit of measurement.
10:34Now the links jump to the bottom to the header DIV, we may also what to make their text size a little smaller.
10:41Click on the add property link and type font-size and in the field next to it type in 80 and in the unit of measurement menu select percent.
10:54Our skip navigation links are now at the bottom of our header where they are a little easier to read on top of the header photo.
11:01We haven't changed the HTML thought so there is still the first thing that a user will encounter when reading straight through the source of the page.
11:08Let's see how they work by previewing in a browser.
11:11Click on the globe icon in the document toolbar and choose preview in firefox.
11:16Click yes to save the changes to the page.
11:20Now click on the skip to main content link, you'll see that we jumped on the page just as we would any other in page link or anchor.
11:29So these skip navigation links add yet another way for users to get around the page quickly without annoyance and frustration.
11:36Many people are hesitant to by them however because they don't like how they appear or they are retrofitting an existing page
11:43and don't have a good place to put them at the top of the page without drastically changing the design.
11:48It is possible to hide skip navigation links from sighted users view in certain conditions.
11:53So we'll talk about the implications of this as well as how to do it next.
Collapse this transcript
Hiding skip navigation links
00:01>> If you can it is best to leave your skip NAV links visible.
00:05Remember that sighed keyboard users rely on them as well and hidden skip NAV link does them little good because although it will be the first thing
00:13that they tab to they will not know that they tabbed to anything because the link will be invisible.
00:19However I know that some clients may refuse to let you put a visible skip NAV link at the top of there site or you may be working
00:26on accessibility features to an existing page and don't have a good place to put the skip NAV link that fits with your existing design.
00:34Hiding the link or links is one way you can improve the accessibility at least part way and not disturb the design.
00:41If you are following along with the exercise files, open visitors.html in Dreamweaver,
00:47its located in the 0505 folder of the chapter five exercise files.
00:52We can use the same off left positioning technique that we are currently using on the main navigation, section navigation and footer headers.
01:00To pull the skip NAV links off the left side of the page and out of view.
01:04In the CSS styles panel scroll through the alt rules listings to the bottom and select the skip LINKS A rule.
01:13Click on the add property link in the properties pane type position and then in the menu adjacent to that click the arrow and chose absolute.
01:24Click on add property again and type margin-left in the field to the right type -9000, leave pixels selected as your unit
01:37of measurement, hit enter or return to accept the rule.
01:41To see if this has worked we need to preview it in a browser.
01:44Click on the globe icon in the document toolbar and choose preview in Firefox, click yes to save the changes to the page.
01:52As you can see the skip NAV links are no longer visible.
01:56There's a compromise approach that we could take to hiding the skip NAV links.
02:00We could hide it from visual users but make it visible when it is tabbed to.
02:05This would help keyboard users who are left out when we moved the skip NAV link off of the screen.
02:10Close Firefox and return to Dreamweaver.
02:14When you tab to a link it receives focus so we need to add CSS rules that move the A element back on screen when it receives focus,
02:23click on the new CSS rule button on the bottom of the CSS styles panel, leave advance selected as the selector type and clear out the default text
02:31in the selector field, type #skiplinks A:focus, #skiplinks A:active.
02:40Leave this document only selected for the define in option and click OK.
02:54We first need o change he left margin value back to a positive number to get the links to appear on screen when they receive focus.
03:01Click on the box category, uncheck the same for all box under margin and in the left field type 50 and leave pixels as the unit of measurement.
03:15Next we need o make the A elements block elements and give them a width
03:20because absolute positioning makes every word with in the link wrap to a new line.
03:24We want them all to be on a single line for each link.
03:27So in the width field enter 11 and in the unit of measurement beside it choose M's.
03:35This will let the width adjust to the font size of the user, then click on the block category select the display menu and choose block, click OK.
03:48When the skip LINKS are tabbed to and appear back on the screen we can no longer have them appear on the right side of the screen
03:55because we have no way of knowing the correct margin value to make them appear there, so we need to remove the absolute positioning rules
04:03from the skip LINKS DIV that we used in the previous movie.
04:06In the CSS styles panel choose the skip LINKS rule from the listing of all rules.
04:12Click on the bottom property and click on the trash can to delete it, then the position absolute property and the trash can to delete it,
04:22and finally click on the on the right property and the trash can icon to delete it.
04:27Next we'll modify the style for the skip LINKS list item rule.
04:31Click on the skip LINKS LI rule in the all rules listings of the CSS styles panel.
04:38Click on the add property link type position and then in he menu next to it choose absolute as the value.
04:48This will make it so that as each link displays on he page one by one they each take up the same spot.
04:55Next click on the display in line deceleration then the trashcan icon at the bottom of he panel
05:00to delete it, it's no longer needed with our new styles.
05:05We also can delete the padding left property.
05:08So click on that and then the trash can icon.
05:11This should be all the changes we need.
05:13So let's preview in Firefox.
05:16Click on the globe icon in the document toolbar and choose preview in Firefox.
05:21Click yes to save changes to the page.
05:23As we saw before the links are not visible however let's try tabbing to them, hit the tab key on your keyboard,
05:30the first link skip to main content immediately appears with the focus dotted outline around it.
05:37Hit the tab key again, now the skip to section navigation link takes its place, since we no longer have focus on the skip
05:45to main content link it has again disappeared so we only see on skip link on the page at a time.
05:52Just as before we can hit enter or return on the keyboard to active that link and jump down the page.
05:59While this is not an ideal scenario hidden skip navigation links at least keep the links present in the HTML for screen readers to access.
06:07And using the CSS from this movie you've seen that you can make the hidden links available to keyboard users as well.
Collapse this transcript
Proper link text and title attributes
00:01>> We now have both our main navigation and section navigation menus set up, but most pages will have links within the text of the page as well.
00:09Users frequently jump from link to link when they encounter a new page.
00:13Screen reader users can use this by bringing up a listing of all the links in a page using keyboard commands.
00:20Sighted users can use their eyes to jump from link to link on a page looking for the different link color and underlining.
00:28But if the links aren't set up properly, the screen reader's links listing will not be of much use to them.
00:34For instance, there may just be so many links on the page that it makes it impractical to even use the links listing as a navigation method.
00:41If the link text doesn't match the topic of the linked page, this will confuse the screen reader user.
00:47A sighted user can look at the text around the link to get more information about where the link will take them.
00:53A screen reader user can do this as well by leaving the links listing and going back to reading the page, but it will take them much longer to do so.
01:00This is also a problem when the link text is vague, for instance it just says click here or read more.
01:06Again, the screen reader user will not know where they're going to go to, so they'll have to go into reading the page, get back to that link,
01:13read to the text around it before they can decide whether that's the link that they're looking for and that they want to go to.
01:19If the same text is repeated for multiple links in the page, the screen reader user would have to hear that read to them many times
01:25in the links listing and again would not be able to determine which link was which.
01:30So if possible, write your link text so that it is meaningful and can make some sense out of context
01:36and so that it is unique from other links on the page.
01:39This is not always possible, but for the majority of cases the text can be written to make the link text more meaningful and clear.
01:46Let's look at an example of problematic link text from our site that we have been working on.
01:51If you're following along in the exercise files, open index-before.html in Firefox,
01:58it's located in the 05_06 folder of the chapter five exercise files.
02:03This page is the home page of the site we've been working on.
02:06If we scroll down the page we can see all the text.
02:09The orange links stand out visually, but because the text of so many of them is repeated,
02:15sighted users will have to take more time to locate the link they are looking for.
02:19For instance, we have the text click here, click here, underneath the elections 2008 heading at the bottom of the page.
02:28And if we scroll back u p to the top of the page, you'll see the same link text, click here and click here in the first two paragraphs of the page.
02:37In the sidebar, we have a number of links to news stories, but each of them is linked with the same text, read more, read more, read more.
02:45This is even more problematic for screen reader users than for sighted users.
02:49To quickly see the list of links in the page, we can use the Fangs extension for Firefox that we downloaded earlier.
02:56Right click or control click on the page to bring up the Context menu and click on the view Fangs option in the menu.
03:03In the new window that opens click on the links list tab.
03:08At the top of the list are the skip navigation links that we added earlier followed by the main navigation links.
03:15But then you can see that we have a series of read more, click here and other unclear link text.
03:21Close the Fangs window now.
03:23Now let's look at how that text can be improved.
03:25Open the file index-after.html in the 05_06 folder of the chapter five exercise files.
03:33This is the same page with the same content, but some of the text has been slightly rewritten to make the link text be more clear and meaningful.
03:41In the first paragraph we now have a link that says schedule of free performances and another that says buy discounted tickets to rides.
03:48Both sited and screen reader users can quickly identify these links.
03:53In the sidebar, we've simply removed the read more links and instead linked the title of each of the news articles.
03:59Again, this is the clearest text that will tell the user exactly what they are going to get if they choose this link.
04:04We haven't changed the links that say English and Spanish in the third paragraph on the page.
04:09These are still a little vague if they were seen by a screen reader,
04:12but rewriting them to include more words would probably be problematic for sighted users.
04:18So let's open this page in Dreamweaver.
04:20In design view, scroll down the page, click on the English link.
04:29We can set a title attribute on this link to provide extra information about it.
04:34Open the tag inspector panel then click on the plus sign by the CSS/accessibility option.
04:40You'll see a field for title.
04:43Let's type in PDF flier English version.
04:49Next, click on the link for Spanish then go into the tag inspector panel and select the title field.
04:58Type in PDF flier Spanish version.
05:04Now go to file > save and return to Firefox.
05:12Reload the page to save the changes.
05:14If we hover over the English and Spanish links, a tool tip will come up with the content of the title attribute.
05:21This extra information could also be accessed by screen readers, however it's not guaranteed that a screen reader user will hear this text.
05:30They can change the settings in their screen reader to have title attribute text read to them or not.
05:35But in many screen readers, the default option is to have it not read out.
05:40If a screen reader user encounters a link that they find confusing, they can use a key combination to bring up the title attribute,
05:47even if their default setting is to not read those attributes.
05:51Even so the title attribute is not going to be read every time.
05:55So make sure that you use it sparingly, write the clearest link text that you can and make sure that any information that is truly essential
06:03for understanding the page is on the page as regular text for everyone to read.
Collapse this transcript
Opening new windows
00:00>> Web designers can designate whether they want a link to open in the same browser window that the user is currently in
00:06or whether they want the link to open in a new window.
00:08Setting links to open in new windows is common for linked pages that are not part of the current site.
00:14The idea is that by leaving your own site open before sending users off to another site you will make it easier for them to get back
00:20to your site when they've finished at the other one.
00:23The problem with this is that the main way that people get back to sites they were previously on,
00:27the browsers back button, does not work in the new window.
00:30Opening new browser windows from links within a webpage is primarily a usability issue, as it affects all users,
00:37but it does have accessibility implications as well.
00:39New windows can be especially problematic for screen reader users, as the screen reader may not tell them that a new window has been opened.
00:47If the user then tries to use the keyboard command to go back to the previous page, he or she will be unable to do so.
00:53Unlike sighted users, they can't see they grayed out back button or the new window in their task bar
00:58for the additional clues that they're now in a new window.
01:00This is another one of those areas unfortunately where you may have to make a trade off between the business
01:06or marketing concerns of the site and accessibility.
01:08If you must open links in new windows, try to keep it to a minimum and alert users to it beforehand.
01:14If you're following along with the exercise files, open the file index.html in Dreamweaver that's located
01:21in the 05_07 folder of the chapter five exercise files.
01:26Let's say that all of these links to new stories opened in new windows.
01:29One way that we can tell users about this beforehand would be to simply put a sentence stating that at the top of the news article listing.
01:36Place your cursor at the end of the news heading and hit enter or return to start a new line, then type in all stories open in a new window.
01:50You could then style that text to make it a little smaller and less obvious, but at least it would still be on the page.
01:56Of course, a screen reader user who is using their links list to navigate the page
02:00and not reading all of the text would not be able to see this text.
02:03If you could include the notice about the new window within the link itself, that's even more helpful.
02:09Scroll down the page in Dreamweaver.
02:14Let's say that this link to outdoor water restrictions opens in a new window.
02:18We can simply place our cursor at the end of the link and type in parenthesis and type link opens in new window.
02:28This way, the notice of the new window is tied directly to the link and will be included in the listing of links accessed by a screen reader.
02:36It's possible to hide this text from the view of sited users using the same off left positioning technique from earlier movies.
02:43Highlight over the space before the parenthesis text all the way to its end.
02:51Then right click or control click on the selection and select the quick tag editor option.
02:57You can then wrap an additional tag around this text.
03:01We'll have used the span tag since it's a generic element that we can use whenever there isn't a better semantic element to use.
03:08Type in span then hit enter or return.
03:11When we now click in the area of the link that contains the notice about the new window,
03:16we can see in the tag selector that there is a span around this text.
03:20Click on the span tag in the tag selector then go to the style menu in the properties inspector below, choose off left from the list of classes shown.
03:33Now click back in design view.
03:35The diagonal lines that you see is Dreamweaver's method of indicating margins.
03:39Remember that our off left class assigns a very large negative left margin to the chosen element.
03:45Let's see how this looks in a browser.
03:47Click on the globe icon in the document tool bar and choose preview in Firefox.
03:53Click yes to save the page.
03:57Scroll down the page.
03:58You can see that the outdoor water restrictions link no longer has the parenthesis text showing.
04:06It's still there to be used by screen reader users.
04:09Ideally you'd keep this notice visual so that it could benefit sited users as well, but this is another compromise technique that you could use,
04:16so again, try to keep opening new windows to a minimum so that the user can decide whether they want
04:21to open a new window, tab or use the same window from before.
Collapse this transcript
Accessibility limitations of fly-out menus
00:00>> A common type of navigation menu that we haven't yet created in this chapter is the fly out menu, also called a drop down or rollout menu.
00:07This is the menu where each of the items displays a submenu of links when you hover over the item using your mouse.
00:13They're popular because they allow you to add a lot of links to the page without having to find spaces for all of them to show at all times
00:20and they decrease the number of clicks it takes to get to a page buried in the site.
00:24Whatever the reason a fly out menu is chosen over a traditional menu, they pose a number of accessibility problems.
00:30This is another topic that overlaps heavily with usability, so we'll focus just on the issues with fly out menus
00:36that cause particular problems for people with disabilities.
00:39One problem is that they require a lot of fine motor control in order to operate them properly.
00:44You have to move the mouse in just the right sequence and without shaking in order to not accidentally mouse off the item and cause the submenu
00:51to close or to trigger another item that you didn't want.
00:54It's especially hard to use vertical fly out menus where the menus appear to the right of each item.
00:59Another problem is the huge number of links that are in fly out menus.
01:03Screen readers and keyboard users will have a huge amount of content to tab through.
01:07Skipped navigation links can help them get past the fly out menu,
01:10but what about when the user doesn't want to skip it, but wants to get to an item in it.
01:15If the item is near the end of the fly out menu they're going to have a lot of tabbing to do before they can finally get to it.
01:20It's also worth noting that the huge number of links you're adding to each page with a fly
01:24out menu will increase your page weight, download times and bandwidth usage.
01:29It can also negatively impact your search engine rankings by lowering your keyword density and moving your main content further down the page.
01:37Another accessibility problem with these menus is that the sub menus may appear outside the visible range of the user's device.
01:44This is especially true if the user has a very narrow window or if they're using a screen magnifier
01:50and they're only seeing a very small area of the screen at one time.
01:53The sub menu may be completely overlooked or it may be seen, but the user is not able to access it because in order to do so they'd need
02:01to scroll horizontally and as soon as they do that they have to take the mouse off of the top level item and the sub menu would vanish.
02:08Finally, many menus are not designed to work without a mouse, JavaScript, or CSS.
02:14There are ways to make a fly out menu that will work without a mouse, JavaScript or CSS,
02:20but these menus are even more complicated to produce than other fly out menus.
02:24Again, this may be an area where you have to compromise some degree of accessibility in order to meet other site requirements.
02:31If that's the case, it's important to test any menu system t5o make sure that it works at least
02:36in these four basic scenarios for minimum accessibility.
02:40The first scenario is using a mouse with JavaScript on.
02:43This is basically what all fly out menus are designed to work with, so you shouldn't have any problems here.
02:49The second scenario is using a keyboard with JavaScript on, and this scenario the user should be able to tab to each top level link
02:56and that should show the submenu for that link, which they can then tab through as well.
03:01The third scenario is using a mouse with JavaScript off.
03:04Here the user should either be able to click on top level links that will take them to new pages with all the links of a sub menu shown.
03:11Or the menu should be expanded by default to show all of the lengths.
03:15The fourth scenario is using a keyboard with JavaScript off.
03:18Here the user should be able to tab to the top level links, but not the sub menu links.
03:23This is because without JavaScript, the submenus will not show then they tab to the top level links.
03:29That means they'll be tabbing through invisible links and will not know what they currently have selected.
03:34Another option is for the menu to expand to show all of the links.
03:38If you're following along with the exercise files, open the page spry-menu.html in Firefox that's located
03:46in the 08_08 folder of the chapter five exercise files.
03:50This is a fly out menu created with Dreamweaver CS3s spry menu widget.
03:55It creates all of the CSS and JavaScript for you.
03:58Let's see how it holds up to our four scenarios.
04:01The first was using a mouse with JavaScript on and it of course works in this scenario.
04:07The second was using a keyboard with JavaScript on.
04:10So hit the tab key on your keyboard.
04:12The first top level item in the list is highlighted.
04:15Hit the tab key again.
04:17Now none of the links are highlighted.
04:19What has happened is that the focus of the tabbing has moved on to the next link, which is the first item in the item one sub menu.
04:27So we're able to select the links in the sub menus, but we can't see what we have selected to know if it's what we want.
04:33Hit tab three more times on your keyboard.
04:36Finally on the last tab, we're back to item two being highlighted.
04:41We had to tab through all of the invisible links in the first sub menu before we could get on to the second top level item in the menu.
04:48You can see how confusing and frustrating this would be for a keyboard user.
04:53So already the spry menu has failed.
04:55Let's continue testing the next two scenarios.
04:58The third was using a mouse and JavaScript off.
05:01In Firefox, we can use the web developer tool bar to turn off JavaScript temporarily.
05:06Click on the disable button in the tool bar, select disable JavaScript and then all JavaScript.
05:15Now when we mouse over the items, you can see that the sub menus do not display.
05:19This is fine as long as each of the top level links goes to a real page with all of the same links
05:25that the sub menu would have contained on it for the user to choose from.
05:28However, web designers often don't create these pages and don't link the top level links
05:33to anything, instead just using them to trigger the sub menus.
05:37If that was the case here, again the menu would fail.
05:41Finally with JavaScript still off, let's use the tab key again to see if we can tab through the menus.
05:46Hit tab on your keyboard.
05:48Our focus last time was on item two in the menu, so it picks up from there.
05:52We now have item three selected, but hit tab again.
05:56Once again we've tabbed on to an invisible sub menu item.
05:59The menu works exactly the same with JavaScript on or off and is still just as inaccessible to keyboard users in either state.
06:06So you can see that there are a number of serious accessibility problems that fly out menus pose.
06:11For times when you do have to use them, we looked at how to test and evaluate a fly out menu to see if it works
06:16in the base scenarios necessary for a minimum level of accessibility.
06:21Since spry menus don't pass these tests, we'll need to turn to another fly out menu system that is more accessible to more users.
Collapse this transcript
Creating an accessible fly-out menu
00:00>> In the last movie ware saw how inaccessible fly out menus and be but if you must use one pick one that at least work
00:07in the four basic scenarios that we tested the spy menu in.
00:10there are several pre made fly out system that you can purchase online.
00:15One menu system that works well in the scenario that we talked about are available www.eazymenu.co.uk.
00:24Go to that site now in your browser.
00:25The fly out menu is provided by easy menu are free to use on a personal or nonprofit site if you link that to the easy menu site or donate,
00:33otherwise you can buy a license to use the menu system.
00:36On the easy menu page scroll down, at the bottom of the page there are two links one says grab the source code
00:45and the other says online menu builder click on the online menu builder link.
00:52A new window will open with an alert that the menu builder is still in development click okay.
00:58When the online menu builder loads it will have three panes.
01:05One at the top offers you a live preview of your menu as you build it.
01:08Hover over the links in the live preview to see how this menu will work.
01:13(Pause is speaking)
01:22>> In the left pane of the window are all of the items in the menu.
01:25Click on option one in the left pane, when you do, this items properties will be loaded in the right pane for you to edit.
01:33Highlight over the text option one shown in the field and delete it, then type in home.
01:40In the URL field clear out the default characters shown and type index.html then delete the default tool tip
01:50and access key values, we don't need those in our menu.
01:53We are going to make sure that our menu is useable and understandable without tool tips or access keys.
02:00Once you've made all the changes you want to for this item, click on the update this item button.
02:07You'll see the text change in the left pane as well in the top pane showing the live preview.
02:12Now click on option two in the left pane.
02:14In the label field in the right pane delete the default text and type resident.
02:22In the URL field clear out the default text and type resident.html then clear out the tool tip and access key values and click update this item.
02:37If you want to add a sub menu to any of the items, simply select it first in the left pane
02:43and then in the right pane click on the add sub menu button, the third one down.
02:51A new menu item will be created underneath the original menu item.
02:55With this new menu item selected clear out its default label text in the right pane and type housing.
03:04In the URL field enter housing.html clear the tool tip and click update this item.
03:16Let's add one more item under residents, click back on residents in the left pane and then click on the add sub menu item on the right pane.
03:29In the label field for the new menu item type parks and recreation
03:35for the URL type parks.html delete the tool tip default text and click update this item.
03:46When you have made all the changes that you want to the menu click on the get code link in the top right corner of the window.
03:52You are taken to a new page that shows the HTML for your menu.
04:00This page also contains a link to download the script.
04:04Click on that link, you'll be taken to a new page where you will be asked to fill in your email address, after you enter your email address
04:11in the field shown and click go the JAVA script that controls the email we emailed to you.
04:16Click back on the tab that shows you HTML code, click inside this box and click control A or command A
04:23to select all the HTML then hit control C or command C to copy it.
04:28Now open Dreamweaver, inside Dreamweaver go to the file menu and select new.
04:34In the new document dialog box click on the blank page option in the first column then select HTML as the page type and then none for the layout.
04:46In the doc type menu choose HTML 4.01 strict and then click create.
04:53In the new document click on the code button in the document toolbar, highlight over all of the HTML shown and then hit control V or command V
05:06to paste in the HTML that you copied from the ease menu website.
05:13If you scroll through the HTML you can see that the fly out menus are made with a series of list, this is the correct semantic markup.
05:22If you want to change any of the links you don't need to use the online menu builder again.
05:27You can simply edit the HTML of this page.
05:30If you scroll up to the top of the code view you'll see a reference to a script names CSSmenu.js this is the file that will be emailed to you.
05:38It is already linked in the head of this page so as long as you place the JS file
05:43in the same directory where you saved this page it will work correctly.
05:47If you save it in a different directory make sure to update the path in this script tag.
05:52Because of licensing restrictions we can't include the easy menu files in your exercise files.
05:57But once you've used the online menu builder and had the JAVA script emailed to you,
06:01you should have the same page that we are going to show you know.
06:06Back in Firefox I have open the fly out menu that we created in the online menu builder with the JAVA script that was emailed to me attached.
06:15We already know that it works in the mouse JAVA script on scenario so let's try the keyboard JAVA script on scenario.
06:21Once you have received your own copy of the script and have a working version of the menu,
06:26load it in Firefox as well and click on your tab key on your keyboard.
06:30The first link home is highlighted, hit tab again, residents is highlighted and the two links that we added
06:36under it housing and parks and recreation are shown.
06:39Click tab again the focus moves to the first link underneath residents so you can see that this menu is working correctly with the keyboard.
06:48We're able to tab to all of the top level links and see the sub menus as we tab through them as well.
06:53Click off the menu to close the sub menu.
06:56Now click on the disable button in your web developer toolbar.
07:01Select disable JAVA script and then select all JAVA script.
07:05Now try using your mouse on the menu.
07:07None of the sub menus show but you can click on the links to the top level pages.
07:14Again in order for this to be accessible you need to make sure that you link the top level links to real pages not just to a pound sign in order
07:22to trigger a sub menu and the pages you link them to need to have links to all the sub menu items written as plain text accessible links on the page.
07:31What about with a keyboard, will the menu continue to work when we tab with JAVA script off?
07:37Go ahead and click the tab key to find out.
07:39My mouse last passed over the resident's link so it picks up from there and selects the option three link,
07:45click tab again and the focus moves on to option four.
07:49Remember in the spry menu that the focus disappeared because it began tabbing through the invisible sub menus,
07:55in this menu however when JAVA script is unavailable and the sub menus can no longer be opened you can also no longer tab through the sub menus,
08:03this is a far better scenario then having to tab through invisible menu items.
08:07Again though the only way that this can be accessible is if you link the top level pages to real pages with all the sub menu links available
08:15from there, so this menu passes in the four minimum scenarios for accessible fly out menus, it uses a semantic list structure
08:23that you can easily change and you can fully customize the look of the menu using CSS.
08:28There are other menu options available that you may want to look at
08:32but hopefully this gives you an idea of how a more accessible menu should operate.
Collapse this transcript
6. Working with Images
Proper ALT text for navigation images
00:00>> For those not yet familiar with web accessibility the first thing they think of is alt tags on images.
00:06There's actually no such thing as an alt tag but it's true that images must be provided with alternative text and that failure to do so is one
00:14of the biggest problems for screen reader users and other people or devices that don't use images on the web.
00:20Both the section 508 and WCAG guidelines specify that text equivalents should be provided for every non text element.
00:29The primary requirement that this is met is through the alt attribute on the image element
00:35but its not the only way as we'll talk about in this and later movies.
00:41Also note that the standard is a text equivalent not a description of the image.
00:45The quality of the text you choose is just as important as whether it's there or not.
00:51We're going to look at a few different types of images and talk about high quality text that would be appropriate for there alt attributes.
00:59To practice adding alt text we are going to work on the file government.html.
01:03If you are following along with the exercise files, this page is located in the folder 0601 of the chapter six exercise files.
01:12The first image on this page is the logo image.
01:16If we look down in the properties inspector and look inside the alt field you will see that it is blank,
01:21that means that it currently has no alt attributes set.
01:24We need to give it alternative text so that screen reader users and other who are not browsing images such as text browser users,
01:32people who are on very slow dial up connections or small screen devices such as cell phones and PDA's will be able to tell what the image is.
01:41We don't want to describe to image its not important to our users what the visual characteristics of the logo are.
01:48We also don't want to say logo in the alt text.
01:51That again is the description and it's not important for our users to know that it's a logo,
01:56rather they need to know the information that the information conveys.
02:00The purpose for the is image is to identify the site as being about or by the town of Wardscott so click inside the alt field
02:07in the properties inspector and type town of Wardscott.
02:13In general an image of text ought to have the same text set for its alt attribute.
02:18For example if you had graphic buttons being used for links you would use the alt attribute services on the services button.
02:26You wouldn't use the text services button or services image for the alternative text
02:31if you just use the same text that is shown on the face of the button.
02:35Alt test is especially important when the image has a link surrounding it.
02:40In these cases the alt text effectively becomes the link text and as we talked
02:45about earlier its very important for our link text to be clear and meaningful.
02:49Scroll down the government page in Dreamweaver.
02:55There is a table at the bottom of the page with a number of DOC and PDF icons that are met to link to public meeting minutes documents.
03:04Each one of these images needs to have alt text explains what the user will get by clicking on the icon.
03:11So click on the first icon, go down to the properties inspector and click inside the alt field, type word doc town council 5/31/08 meeting minutes.
03:33So here for the alt text we used a description of where the link points to,
03:43this is the general practice you should follow for any images that are being used for navigation.
03:50Now lets click on the first PDF icon then go down to the properties inspector and click in the alt field.
03:56Here we'll type PDF of town council 5/31/08 meeting minutes.
04:10You would follow this process on through the page for each one of these icons.
04:16Again note that we haven't described what these images look like or put the word image, icon, graphic, anything of that nature inside
04:24of there alt text instead we've described what the purpose of the images.
04:30So follow these guidelines for creating text equivalents for your images whenever they convey information.
04:36Sometimes though images are not conveying information rather they are decorative, other times the image is conveying information
04:44but that information is given elsewhere on the page.
04:48In these situations it can be harmful to accessibility to put text in the alt attribute.
04:54We'll talk about that next.
Collapse this transcript
Proper ALT text for decorative images
00:00>> In the last movie we talked about how important it is to use alt text that conveys the purpose of information than an image is providing.
00:09But there are some times when it can actually harm accessibility to add alt text to our images.
00:15Note that the section 508 with WCAG guidelines just require a text equivalent,
00:20that text equivalent doesn't have to be inside the image itself.
00:23The point is to make sure that screen reader users get all of the information sighted users do.
00:29So if the information the image conveys is also conveyed in the test else where on the page you met the requirement.
00:36If you were to repeat the equivalent in an alt attribute the screen reader user would have to hear it twice
00:43which is unnecessary and would probably be very frustrating.
00:47Let's look at an example.
00:48If you are following along with the exercise files open residents.html in Dreamweaver,
00:54it is located in the 0602 folder of the chapter six exercise files.
01:00Scroll down the page to see the entire image, underneath the image is written the caption.
01:07This is simply a regular paragraph element but note that it's providing information about the image.
01:13In this case the text equivalent is provided in this paragraph.
01:17There is no need for us to repeat it inside the alt attribute image itself.
01:23But the screen reader still needs to be told that the image already has a text equivalent else where on the page.
01:29This is done by including the alt attribute on the image but leaving it value blank.
01:34The screen read has nothing to read so it just skips over the image which is exactly what we want.
01:41Click on the photograph, you'll see on the alt field of the properties inspector that no value is currently set,
01:47that doesn't mean that the alt attribute has been set to empty as we want.
01:52Where there is no content inside the properties inspector in Dreamweaver it means that the alt attribute is missing from the image tag all together.
02:02So click on the arrow in the alt field and choose the option empty.
02:10When we choose this option Dreamweaver adds the alt attribute to the image that keeps it value empty.
02:17Let's see this by going into the code view.
02:20Click on the code button in the document toolbar, the alt attribute is now in the image tag but there is not content
02:27between the quotation marks, this is exactly what we want to happen.
02:31Another scenario where you would want screen readers to skip over an image is if the image was purely decorative.
02:38In those cases it is really just there for the sake of sighted users and there is no text equivalent that you'd want a screen reader user to hear.
02:46So we would again use an empty alt attribute.
02:49Open the page index.html from the same exercise files folder.
02:54We're going to add a decorative image to this page.
02:58In design view place your cursor at the start of the first paragraph of text, then go to the insert menu and choose image.
03:07In the select image source dialog box browse for the location of the exercise files on your computer, go to the chapter six folder
03:17and then the 0602 folder and then the images folder and chose the image named carnival.jpeg, click OK.
03:27The image tag accessibility attributes dialog box appears.
03:31This dialog box comes up because earlier we set our Dreamweaver preferences to prompt us for accessibility on images, frames, media and forms.
03:42If we had the images accessibility preference unchecked we wouldn't see this field.
03:47We could still add alt text to all of our images of course but this serves for a good reminder to do so ever time we enter a new image.
03:56We want the alt attribute to be blank so click on the arrow in the alternate text menu and choose empty.
04:03Don't worry about the long description field for right now, we will cover that in a later movie, click OK.
04:12The image is now added to the page, you can see in the properties inspector page that the alt attribute has been set to empty.
04:19Using empty alt attributes is especially important in old table based pages
04:24because they frequently us spacer GIFs or other images for formatting purposes.
04:29You would give these images empty alt attributes, never spacer images or anything along those lines.
04:35Other examples of decorative images would include images used for bullets or dividing lines.
04:41This points to another advantage of CSS layouts, most of the decorative images are kept in the style sheet so there's no needs to worry
04:48about setting empty alt attributes on them, but for all of the images you have in HTML
04:54of the page an alt attribute should always be present on the tag.
04:59The content of that alt attribute will depend on whether that image is content, navigation or decoration and whether the content
05:07of the image is conveyed in text elsewhere on the page.
05:11If you have many old pages that you need to add alt text to our next movie will go over so ways to speed up that process.
Collapse this transcript
Adding ALT text to an existing site
00:00>> If you have sites you maintain that never have attributes added to the images you may have a lot of work ahead of you since we've seen
00:08that alt text really need to be tailored to each individual image there is no way you can automate adding it to existing pages
00:15but there are some tricks you can do in Dreamweaver using find and replace that can speed it up quiet a bit.
00:21If you're following along in the exercise files, open oldpage.html from he 0603 folder of the chapter six exercise files.
00:31This page imitates the home page of the site we have been working on but it uses table base markup and spacer GIFs to create the formatting.
00:39Go to the edit menu and choose find and replace.
00:44In this example we will only be finding the text in the current page but if you are trying to change the alt text throughout a site you will click
00:53on the find in menu and choose entire current local site.
00:58Again in this example keep it set on current document.
01:02Next in search menu choose specific tag.
01:06The fields in the dialog box change as soon as you select this option.
01:10There is now a select menu next to the specific tag option that we just chose.
01:15Click on that menu, scroll down and chose the IMG element.
01:22This will search for images but we but want to find every image only images without alt attributes.
01:30So in the menu under the specific tag option click on the arrow and choose without attribute,
01:36in the menu beside that click on the arrow and choose alt.
01:42So now we are looking for images without alt attributes.
01:46Again though we can't use the same alt text for every image without an alt attribute,
01:51so let's first look for all the spacer GIFs and set all of there alt attributes to empty.
01:56Although we know we're looking for the image spacer.gif we don't know what the patch of the image will be on any page in our site.
02:04Sometimes the path could be just spacer.gif other times it could be images-spacer.gif or ..
02:10/images/spacer.gif.
02:14We need a way to find every source attribute that ends in spacer.gif.
02:19So the solution is to use a regular expression.
02:23This is a set of special characters that let you find patterns within the test.
02:27Click on the use regular expression at the bottom of the dialog box then go back up and click on the plus button and then select the adjacent menu,
02:38scroll down and select SRC for source, leave the equal option set and then in the final box is where we'll need to type our regular expression
02:49to find all of the spacer GIFs no matter what the path to them is.
02:53In regular expressions a period stands for a single character such as a letter, number or punctuation mark.
03:00An asterisk means find the preceding character zero or more times.
03:06So if we combine a period and an asterisk it basically means match any character zero or more times.
03:13By themselves these two characters would match everything but if we add the name of the file
03:18on the end spacer.gif the search will yield every path that leads to that file.
03:24So in this box type a period and an asterisk then spacer.gif.
03:33Finally we need to tell Dreamweaver what to do when it finds every spacer.gif.
03:38Choose set attribute from the action menu.
03:40In the adjacent menu click on the arrow and choose alt, leave the final two fields blank so that the attribute will be kept empty
03:50to denote it's an image that doesn't convey any information and should be skipped over.
03:55Now we can click on the replace all button.
03:58The results panel shows all of the images that were affected.
04:04You can see each one of them now has an at attribute set with no content in it.
04:09But we don't have to use this method just to find decorative images.
04:13You can use the find and replace dialog box with regular expressions to find all the instances
04:19of the logo throughout the sight and to set its alt text correctly.
04:24Open the edit menu again and choose find and replace, leave current document selected and in the search menu choose specific tag.
04:34The same values that we just used are retained.
04:38This time we are going to be looking for all of the logo images so in the field where dot asterisk spacer.gif is replace just the spacer.gif part
04:48with logo.gif again this will find all of the logo images throughout the site no matter what the path is to get to them.
04:57This time we don't want the alt attribute to be blank so in the two menu type town of Wardscott then click replace all.
05:12Since we only searched in this document only one image was replaced but you can see in the results panel that it now has the alt text correctly set.
05:22If you are going to be reusing this search on multiple sites it would be a good idea to save your settings.
05:28Open up the edit menu and click on find and replace.
05:32In the search menu choose specific tag.
05:35All of our settings are still retained, if we wanted to save them to use again later we should click on the floppy disc icon to save the quarry.
05:46The file folder icon folder beside it allows us to load a quarry that we already saved.
05:51So although adding alt attributes to an old site is going to require some time
05:57and work you can speed it up considerable using Dreamweaver find and replace.
06:03Next we'll look at another type of alt text, this time for image maps.
Collapse this transcript
Adding ALT text to image maps
00:01>> Another type of image that is common on older pages is the image map where multiple pieces of the same image are linked to different locations.
00:09Image maps need alt text to but it's handled a little differently than on regular images.
00:15If you are following along with the exercise files open imagemap.html in Dreamweaver,
00:21it is located in the 0604 folder of the chapter six exercise files.
00:26This is the same table based version of the home page that we worked on in the last movie.
00:32However in this move the navbar is not made up of individual images but of one single images with multiple areas linked.
00:41It's important for this image to have alt text because it is conveying a lot of important information
00:46but we can't give it an alt value of the location of all of the links it contains.
00:52Instead we would want alt text on each of the individual areas of the image map so click on the navimage
01:00and in the properties inspector click on the alt menu and select empty.
01:05Now the navimage will be skipped over but we are going to set alt text on the linked area within it instead.
01:13Click on the first of those linked areas over the text residents, the properties inspector changes
01:19to show you where this area of the image map is linking to.
01:22There is also a field for alt it is empty meaning this area currently does not have any text set on it.
01:30Click inside the alt field and type residents, note that we haven't added any alt text to an image.
01:37If we look in the text selector the tag that we are currently editing is the area tag inside the map tag.
01:45So its not just image elements that need alt text but also area elements within image maps.
01:52If you needed to add alt text to image maps throughout a site you could again use Dreamweaver's find and replace to speed up the process.
02:00Go to the edit menu in Dreamweaver and click on find and replace, leave current document selected for the fine in option but if you were doing this
02:13on a real site you would click on this menu and choose entire current local site.
02:19In the search menu choose specific tag, the values from the last time we used the find and replace dialog box are still saved for us.
02:30But this time we are going to have to make some changes.
02:33The tag we are looking for this time is not the IMG tag it's the area tag.
02:38So click on the arrow of the menu scroll up to the top of the list and select area, we are still looking for tags without alt attributes
02:51so the next set of menus should still say without attribute in alt.
02:55in the next menu leave with attributes selected but we need to change the source value that is currently selected in the adjacent menu.
03:05Areas do not have SRC attributes instead they have ATRIF attributes to point to there links,
03:11so click on the arrow of that menu and select ATRIF from the list.
03:16Next to the equals menu leave the period and asterisks in place.
03:23As before we want to find this tag no matter what the path to its link is.
03:28So just highlight over the portion of the text that says logo.gif and type residents.html now this will look for any area tag
03:39without an alt attribute that is linking to the file residents.html.
03:44For action we need to keep the set attribute option selected in the first menu, in the next menu also keep the alt attribute option selected.
03:54In the final menu next to the word two we need to type in the new text we want for each of these are tags.
04:01Highlight over the existing text and type residents.
04:07Make sure use regular expression is still checked.
04:11Now click on replace all.
04:13We will get zero results because we have already added the alt text to the resident's area of this image map.
04:20That lets us know that our search was functioning correctly.
04:23It didn't match this area tag because it didn't meet the requirement of have no alt attribute.
04:29Let's try it with one more area tag, click on the business area of the navimage in the design view of Dreamweaver.
04:37You will see that it is linking to a file named business.html
04:41and that it currently doesn't have an alt value set, if we look in the properties inspector.
04:46Go to the edit menu and select find and replace, leave current document selected for find in and for search choose specific tag,
04:56the only values that we need to change here is the ATRIF value that we were trying to match against as well as the alt text we want to set.
05:04So beside the equal menu highlight over just the text that says residents and type business
05:14so that now the full text of this field is period, asterisks business.html.
05:20In the field below labeled two highlight over the existing text and type business.
05:31Now click replace all.
05:33This time we did get a match because the business are of this image map did not yet have alt text set.
05:40We can see in the results panel that it does now.
05:44So when dealing with image maps make sure that you do set an empty alt attribute on the main image so that the screen reader will skip over it
05:52but set meaningful alt attributes on each of the are tags within the image map.
Collapse this transcript
Describing complex graphics
00:00>> Sometimes the amount of information that an image conveys is huge, much more then is useful in an alt attribute.
00:07While there is no limit on the amount of characters you can place is an alt attribute they are usually kept very short
00:13so that screen users are not burdened by a tone of text as well as users of small screen devices with images off.
00:21Its not a good idea to place all of the data that a chart, graph or diagram is conveying in an alt attribute.
00:28Instead you can use the long desk attribute, this attribute contains a URL to another page with a longer text equivalent of the image.
00:37Let's look at an example of this that has been added to the government.html page.
00:42If you're following along with the exercise files it's saved in the 0605 folder of chapter six exercise files.
00:51Scroll down the page in the design view, we have a large pie chart showing a lot of data on this page.
00:58This is important information but it wouldn't make much sense to put it all in an alt attribute.
01:05Instead create a separate simpler page with all of the data in it in a text form.
01:11In the exercise files this page is named budgetdescription.htm, open that in Dreamweaver now.
01:18This page simply has the same data in a list.
01:21There is a heading to the list identifying what the data is and then after the data there is a link to go back
01:28to the previous page, in this case the government page.
01:32Scroll back up in design view.
01:35You'll notice that this page does not have a navigation bar on it.
01:38All it has is the logo, the data and the footer information.
01:43This page should be simple so that a screen reader can go to it and immediately get the data from the image that they couldn't read.
01:51So how do connect that complex graphic with this simple page?
01:55Go back to government.html, click on the pie chart graphic, we need to add an alt attribute and a long desk attribute to this image.
02:05In the properties inspector click in the alt field, we'll use the alt text to alert a screen reader user that there is a longer description available,
02:15type in this field chart of budget then in parenthesis type click for data.
02:27Now we need to add the long desk attribute so that a screen reader user can actually click on this image
02:33and go to the description open the tag inspector panel.
02:37If the general listing is open click on the dash next to it to close it, then make sure that the CSS/accessibility list is open.
02:48Click in the field beside the long desk label.
02:51You will see two icons appear to the right of this field,
02:54one to point to another file in your sight and another to browse to another file in your site.
03:01Let's click on the file folder icon to browse to another icon in the site.
03:06The value of the long desk field should always be a page but for some reason Dreamweaver wants you to insert an image.
03:13Just ignore that it calls the dialog box that opens select image source.
03:18Browse to where you have the exercise files saved on your computer and go to the chapter six folder within the exercise files.
03:25Then go to the 06_05 folder.
03:30Because Dreamweaver thinks you are looking for an image it has files of type pre filled with image files
03:36and will not show you any HTML pages that you can choose.
03:40So click on the files of type menu and choose all files.
03:46Now the page budget description will show for you to select, click OK.
03:51A link to the budget description file is now basically embedded in the image.
03:58A screen reader can then announce that link to its users and they have the option of following it to hear the full description.
04:05As with the title attribute it is not guaranteed that a screen reader user will hear this announcement depending
04:12on their own settings and they type of screen reader they are using.
04:16Because of this it is best if you can add a real text link in the page that screen readers can follow to see the full description.
04:24This can also be useful to others such as people who would have a hard time processing this graphic but could deal more easily with text.
04:33They would also be able to enlarge the text if they were having trouble reading the data in the graphic, so scroll down the page in design view.
04:40At the end of the description there is a paragraph of text that shows beneath the image,
04:46click at the end of that paragraph and type view chart data as text.
04:56Then select this text and go down to the link box in the properties inspector, click the folder icon beside the field,
05:05browse to the exercise files folder on your computer and the chapter six folder within it.
05:10Then go to the 0605 chapter and select the budget description page then click OK.
05:19Now screen reader users have two ways to get to that page, through the long desk attribute or through the regular text link
05:26and other users can also benefit from the plain text description if the date.
Collapse this transcript
7. Working with Tables
Using tables for data
00:00>> Earlier we talked about why we shouldn't use tables for layout, but instead use a layout created with DIVs and controlled by CSS.
00:08However, that doesn't mean that we should never use tables at all.
00:11They're the appropriate semantic element to use anytime we have data that we need to present.
00:16If we didn't use tables to markup data, we would actually be decreasing the accessibility of our pages.
00:22Data that has a two way relationship can be considered tabular data.
00:27This means that if you place the data in a grid, each block would be related to the blocks above and below it, as well as to each side of it.
00:34By using this proper structure of a table, you can make these relationships between pieces of information clear,
00:40not just to sighted users, but to screen reader users as well.
00:44If you're following along with the exercise files, we have residents.html open in Dreamweaver.
00:50It's located in the 07_01 folder of the chapter seven exercise files.
00:55This is the same resident's page we were working on before.
00:59But if we scroll down the page in design view, you'll see that a table has now been added to the bottom of the page.
01:05In Dreamweaver, the table cells are denoted with a dotted line.
01:09This data is perfect for a table because it has the two way relationship that we talked about.
01:14All of the number values are related to each other.
01:16By themselves, they could be considered a list of rainfall amounts.
01:21The items in the first row of the table would also make up a list by themselves of months, so the pieces of data are related across the rows.
01:30But there's also relationships up and down between the month and the number.
01:35So even with this very simple example, you can see how a table connects related pieces of information.
01:41If we instead used a DIV for each of these table cells and then floated each DIV to the left in order to make rows like we see here,
01:49we might get the same visual appearance, but we wouldn't have the connections in HTML that a table structure gives us.
01:56When the table is built properly in HTML, a screen reader can read off a heading cell before the data that it labels.
02:03Sighted users have the ability to track across a row or a column in the table to line up the values
02:09and see visually what pieces of information are related to each other.
02:13But a screen reader user does not have this ability unless that information is in the HTML so that it can be announced.
02:20Let's quickly look at the code for this table to get a sense of how these connections are made.
02:25Click inside the January cell then click on the code button on the document tool bar.
02:29You can see that we are not using standard TD tags here, but instead TH tags.
02:35We also have a scope attribute with a value of call.
02:39There's also a caption element inside the table.
02:43If we scroll down to see the second row of the table, we'll see the more familiar TD tags.
02:49So the changes that you need to make to your HTML are not major, but in the next movie we'll talk about what each
02:54of these pieces means and how you can add them to your tables.
Collapse this transcript
Creating header cells
00:00>> In an earlier movie we looked at a page that listed the values from a pie chart in text form.
00:05If you are following along with the exercise file the page is named budget-description.html and is located
00:12in the 0702 folder of the chapter seven exercise files.
00:17Currently the data is set in a list but it would be better to mark it up as a table.
00:22In design view place your cursor at the end of the text 2008 and press enter or return to start a new line,
00:30then go to the insert menu, choose table, the table dialog box opens.
00:37We need 11 rows in our table so type 11 into the rows field and type two in the columns field, leave the table width blank and delete any value
00:48that is shown in the border thickness, cell padding, or cell spacing fields.
00:52These are presentational attributes on the table so we don't want to set them here but in CSS.
00:58Next in the dialog box are a series of four images labeled none, left, top and both.
01:06This is referring to where you and table cells to appear in the table you are about to insert.
01:12We're going to put header cells at the top of the table so click the top image.
01:17Don't worry about the options listed under the accessibility heading for now.
01:21In this movie we are focusing on header cells so click OK.
01:25An empty table is added to the page scroll down so you can see all of it.
01:34Scroll back up we need to enter text for our header cells.
01:38Click the first cell of the first row and column, type area of budget.
01:46Then click in the second cell of the first row and type percentage.
01:52You may notice that this text that we entered is bold, this is simply the default style of heading cells we will talk about how to change them later.
02:01In order to give us more room to see the table go down to the properties inspector and click the arrow next to its label to collapse the panel.
02:08Now we're simply going to drag the data out of the list and into our table.
02:13Highlight over transportation then click on the highlighted text and drag it into the second row for cell then highlight
02:21for over 20 percent and drag it into the second cell in the second row.
02:28Repeat this with the police data in the third row.
02:33Delete the unused list items by highlighting over them and hitting backspace, continue to highlight and drag the data
02:41into the table and to delete list items as they become empty.
02:49All of the data is now in our table.
02:57Let's examine the code to see the pieces that make this a semantic table.
03:02Click on the code button in the document toolbar.
03:05Scroll up to where the start of the table code begins on line 27, after the opening table tag we have a TR tag for table row.
03:15Inside the table row tag are two TH tags both of them have a scope attribute set to call.
03:21TH stands for table header, it's simply another type of cell just like TD, but it denotes that it is heading other data in the table.
03:29The scope attributes specifies what it is heading.
03:32A value of COL means that it is heading the column and a value of row would mean it was heading all the cells in its same row.
03:41The other options for scope values are call group and row group, if you had a cell that was part of a row span or COL span.
03:48That is all there really is to creating data table relationships.
03:52The HTML required isn't a lot but it can make a big difference to screen reader users.
03:57Next we'll talk about some other table accessibilities features, captions and summaries.
Collapse this transcript
Adding table captions and summaries
00:00>> We've seen how TH elements, table header cells, can tie related pieces of related information in a table together.
00:08Now let's look at the caption element and summary attribute of tables.
00:12If you're following along with the exercise files, open government.html in Dreamweaver.
00:19It's located in the 07_03 folder of the chapter seven exercise files.
00:24This page has not been changed from when we last worked on it.
00:28You may remember that there was a table of meeting minutes downloads on this page.
00:33Scroll down in design view.
00:34You'll see a table of four rows, but notice that there's no row at the top of the table with table header cells.
00:44Let's insert a new table with better structure into the page and paste our data our of this old table into the new, improved one.
00:52Click at the end of the paragraph preceding the table and hit enter or return to start a new line.
00:58Then go to the insert menu in Dreamweaver and click on table.
01:03In the table dialogue box, enter 5 for the number of rows.
01:08For the number of columns, enter 4.
01:12Leave the table width, border thickness, cell padding and cell spacing fields blank.
01:18For the header option, choose the both image.
01:21This will set TH cells on both the columns and rows of our table.
01:27Under accessibility, click inside the caption field.
01:31The caption is used to provide a brief description of your table.
01:34It's basically its title or label.
01:37In this field, type recent meeting minutes.
01:43Don't select anything for the line caption option.
01:46Again, this is a formatting issue that is better controlled in CSS.
01:52Click inside the summary field.
01:54A table summary can be used to provide even more information than would fit in a caption.
01:59There's no limit to the length of a caption, but you just want it to be a brief, clear description of what the table is about.
02:07If you think a more extended explanation of your table would be useful to screen reader users, the summary attribute is where you can add that.
02:16The icons in this table might make it a little bit confusing.
02:19Having icons in a table to click and download documents might be a little bit confusing
02:24for screen reader users, so we will write a summary for this table.
02:30Simply type a longer explanation of the purpose of the table.
02:34( Typing )
03:05>> I've typed this table provides the minutes from the last four public meetings to download in Microsoft Word DOC and Acrobat PDF formats.
03:14Now click okay in the table dialogue box.
03:18The empty table is added to the page with its caption above it.
03:21If we scroll down you can see that the summary is not displaying on the page.
03:27It's not used by visual browsers, but it's there in the code if the screen reader or other device wants to take advantage of it.
03:35Now let's type our headings into the first row of the empty table.
03:39Click inside the first cell of the first row type the text type of meeting.
03:48Click inside the second cell and type date.
03:53Then the third cell and type Microsoft Word.
04:00Then the fourth cell, type acrobat PDF.
04:13Now let's drag each of the meeting descriptions out of their cells and into the type of meeting column.
04:18Highlight over town council then click on the highlighted text and drag it up into the first cell of the second row.
04:27You'll see that it, too, is bold.
04:29That's because we specified that we wanted headings not only on the columns, but also on the rows.
04:35The name of each meeting is really acting as a label for the cells further along in the row,
04:41so that's why we've chosen to make these cells headings as well.
04:45Next highlight over zoning department in the old table, click on it and drag it up to the first cell in the third row.
04:54Then highlight over and drag town of Wardscott public schools into the first cell of the fourth row.
05:01And finally, highlight over town council in the old table and drag it up into the first cell of the last row of the new table.
05:09For the remaining cells, we can copy them into the new table more quickly by clicking in the first date cell
05:17and without releasing the mouse dragging diagonally down to the last PDF cell.
05:23This highlights all 12 of the remaining cells with the thick black border.
05:28You can now release your mouse and hit control C or command C on the keyboard to copy the block of cells.
05:34Now you need to highlight over the same cells in the new table.
05:38Click in the cell beneath the date header cell.
05:41Keeping the mouse button pressed, drag diagonally down towards the last cell in the table.
05:48When the block of these 12 cells is highlighted with a thick black border, you can release your mouse and now hit control V
05:55or command V on the keyboard to paste in the old cells.
06:01Now we can delete the old table.
06:03Simply highlight over it and hit backspace or delete.
06:07There's one more accessibility enhancement we may want to make to this table.
06:12Table heading cells can have the ABBR attribute added to them.
06:16This stands for abbreviation and it provides alternate text for the heading cells.
06:22Usually that alternate text is shortened text.
06:26The ABBR attribute is most useful in very large tables.
06:30A screen reader may read out the content of a heading cell before it reads out the content of the data cell that it is currently in.
06:39So for instance, in this table, if the screen reader was in the cell 5/23/08 it might read date, town of Wardscott public schools, 5/23/08.
06:50This can be very helpful, but it can also be frustrating in a very large table if the text
06:57of the heading cells is very long and has to be repeated over and over again.
07:02In these cases you would use the ABBR attribute on the long table heading cell text.
07:09The full text of the heading cell would still be read when the table was first encountered, but when the heading is read out before the data
07:16of individual cells, the abbreviated form would be used instead.
07:21So click inside the type of meeting cell.
07:24To select the entire cell go down to the tag selector at the bottom of the document window and click on the TH tag.
07:32Right click or control click on the TH tag listed in the tag selector and select quick tag editor.
07:40The full HTML of the currently selected tag is shown.
07:44Place your cursor before its closing bracket and type a space and immediately a menu of possible attributes appears.
07:52The ABBR attribute is the first in the list.
07:55Double click it and it is added to the cell.
07:58For the value in between the quotation marks, type the word type.
08:04Hit enter or return to accept the changes to the cell.
08:08So what we've done here is set a shortened version of this heading cell text.
08:13Type of meeting would be read out when the table is first encountered,
08:18while the abbreviation that we entered would be all that was read before individual cells.
08:24You don't have to use the ABBR attribute just for shortened text, however, there may be times where you would want to use it to provide longer text
08:32because that would be more understandable to screen reader users.
08:35For instance, if you had a table with math symbols as headings, you could use the ABBR attribute to type out the word that corresponds
08:45with that symbol to make sure that the screen reader will read the correct text even if it doesn't know what that specific symbol is.
08:54So now we've looked at many of the HTML elements and attributes that can make a table more accessible.
09:00Next we'll talk about how to style tables so that you can use the correct semantic markup, but keep it consistent with your design.
Collapse this transcript
Styling tables
00:01>> We've seen how to create the structure of data tables, now let's start styling them.
00:06If you're following along with the exercise files we're working on the page government.html,
00:12which is in the 07_04 folder of the chapter seven exercise files.
00:17Open the page in Dreamweaver and then click on the new CSS rule button in the CSS styles panel.
00:25Click on tag for the selector type.
00:28In the tag menu, click on the arrow to bring up a list of possible tags, scroll down to select table.
00:41For the define in option, leave the selection in styles.css.
00:47Previously we had been defining styles in the head of the document, but once we created multiple pages on the site,
00:54it made sense to move the styles into an external style sheet that could be referenced by multiple pages throughout the site.
01:01We're going to add our table styles to the central style sheet so that all of the pages can share them.
01:08Click okay.
01:10Click on the box category in the CSS rule definition dialogue box.
01:16Uncheck the same for all box under margin then place your cursor in the bottom field under margin and type 1.3.
01:26In the adjacent menu, choose M's as the unit of measurement.
01:30The other property that we want to add to the table is actually not available within the CSS rule definition dialogue box, so click okay.
01:39Our new table rule is added and can be seen in the CSS rules panel.
01:45Click on the add property link and type border-collapse.
01:51In the adjacent property field type collapse as the value as well.
01:59Hit enter or return to accept the property.
02:02The border collapse property is only used on the table element.
02:05What it does is get rid of the default gaps between table cells.
02:10It also enables adjacent borders to be merged into each other.
02:14For instance if you had two cells in a table and both of them had borders set on all four sides, the borders would be doubled up in between them.
02:24Setting the border collapse property to a value of collapse keeps this from happening.
02:31Next let's add a rule for the caption element.
02:33Click on the new CSS rule button at the bottom of the CSS styles panel, leave advanced selected for the selector type.
02:42In the selector field delete the default text that Dreamweaver has added and type TD, TH.
02:52This is another group style.
02:53It will affect all of the TD and TH tags at the same time.
02:59Keep defined in styles.css selected and click okay.
03:05Click on the box category in the CSS rule definition dialogue box.
03:09Uncheck the same for all box under padding and enter .2 in the top field and in the bottom field.
03:18In the right field under padding enter .4 and also enter .4 in the left field.
03:27Now go to each unit of measurement menu and choose M's.
03:38Next, click on the border category.
03:42Leave all the same for all boxes checked.
03:45Click in the top menu under style and select solid.
03:50Under width type 1 and leave pixels selected as the unit of measurement.
03:58Then click in the color field and type #D5DDDD.
04:08Now click okay.
04:10You'll see that there our styles.css file is now open.
04:13When we began adding rules to it, Dreamweaver automatically opened it in the background.
04:19It has an asterisk beside it to denote that it has been changed since it was last saved.
04:25Click on that file now.
04:26You'll see the last three rules that we have added.
04:29Go to the File menu and choose save.
04:33Then go back to government.html.
04:35Let's preview it in a browser.
04:40Click on the glove icon in the document tool bar and select preview in Firefox.
04:46Scroll down to see the whole table.
04:48It reflects the styles that we just added.
04:52You can see that the border is not doubled up between adjacent cells but is one pixel in width throughout.
04:58In this case, we chose not to style table heading cells any differently than body cells, but their default styling of bold is still
05:08in effect because we did not explicitly override it.
05:11But you can style tables just as you would any other element to fit into the design of your site.
Collapse this transcript
Applying header cells to complex tables
00:00>> In more complex tables, the header information for a given cell might not be in the same row or column as that cell
00:07or the cell might have more than two headers that apply to it.
00:10In these cases, you need to use the headers attribute instead of the scope attribute to associate the data cell with its header cells.
00:17You do this by assigning an ID to each of the header cells and then listing the IDs
00:22of the applicable header cells in the headers attribute of the TD tag.
00:27Let's view an example of this sort of example in government.html.
00:31If you're following along with the exercise files, this page is located in the 07_05 folder of the chapter seven exercise files.
00:39Open it in Dreamweaver's design view.
00:41Scroll down the page past the meeting minutes table that we worked on earlier.
00:46A new table has been added to the page with the caption of comparison of adopted budget amounts
00:51and actual spending for transportation department 2004 to 2006.
00:56If we look at one of the numbers in the table, say this number 15 in the third row, we can see that it doesn't just have two heading cells.
01:04The cell labeled dollars and millions is one of its heading cells, so is the cell labeled actual.
01:10But also the cell labeled 2006 - 2007 provides heading information for the number 15 in this cell.
01:18This is a case where TH cells and scope attributes of a row or column will not adequately describe how this cell is connected to the others around it.
01:27Sometimes these sorts of tables can be remade into a simpler form so that every data cell does only have one row heading to one column heading.
01:36But there are many tables far more complicated and large than this example one that can be set
01:41up in a way that would give each cell only two header cells.
01:44This table already has some TH cells with scope set as you can see with the bold formatting that is applied to our TH cells.
01:52We want to keep the cells as TH cells and we want to keep the scope attributes, but we'll just add on to it from there.
01:59Let's look at the scope attributes for each of the cells under the fiscal year column.
02:03Click inside the first cell labeled 2006 - 2007.
02:08Move down to the tag selector at the bottom of the document window and click on the TH tag.
02:13Now right click or control click on that tag and select quick tag editor.
02:18You can see the full HTML for this TH cell.
02:22We can see that it's standing three rows and that it has its scope set to row.
02:27However, this isn't correct.
02:29It's not just heading one row, but the entire group of three rows.
02:33So the value that we should use in the scope attribute is row group.
02:37Place your cursor after row in the scope attribute and add on the word group.
02:43Now it's scope attribute more accurately describes what it is heading.
02:47There's also a scope attribute value of call group.
02:50It doesn't apply to this table, but that's also an option that you can use in your own tables.
02:55Let's make the same changes to the other fiscal year cells.
02:58Click in 2005 - 2006 then right click or control click on the TH tag in the selector and select quick tag editor.
03:09Type row group in the scope attribute.
03:13Then click on the 2004 - 2005 cell in the tag selector right click or control click on the TH tag and select quick tag editor.
03:25Again, type row group in the scope attribute.
03:29Click outside the table.
03:31The next change we need to make is changing each of the items in the budget column to be table header cells as well.
03:38We can see that they are header cells by clicking in one of them and looking at the tag selector.
03:43The current tag is TD.
03:44The fact that their text is not bold is also a clue that they currently aren't set as TH tags.
03:50We'll use find and replace to quickly change all of these cells to TH cells with the scope attribute of row.
03:57First go to the code view by clicking on the code button in the document tool bar.
04:02Select over the entire TD cell with the text adopted in it, including the opening TD tag, the text and its closing TD tag.
04:10Then go to the Edit menu and select find and replace.
04:15The HTML that was selected is automatically filled in the find field.
04:20We want to leave find in current document set and search source code set as well.
04:26With the text in the find field selected, hit control C or command C to copy and paste it into the replace field.
04:36But then highlight over the D in the opening TD tag in the replace field and type H scope="row" then highlight over the D in the closing TD cell
04:48and type H. Uncheck the use regular expression box if it's currently checked.
04:54Now click on replace all.
04:55In the results panel, we can see that all three cells that had the text adopted in them have been changed to TH cells with a scope of row.
05:09We'll repeat that for the remaining budget type cells.
05:13Go to the Edit menu and click on find and replace.
05:17Copy the text in the find field using control C or command C and paste it into the paste field using control V
05:24or command V. Change the text in the replace field to actual.
05:32Change the adopted text in the find field to actual as well and then highlight over all of the TH code,
05:38including the scope attribute and its value and type TD.
05:43Also change the closing TH tag to a closing TD tag in the find field.
05:49Now click replace all.
05:51Finally, repeat this for the cells labeled different.
05:54Go to edit > find and replace, control C or command C to copy the text in the find field,
06:03control V or command V to paste the text into the replace field.
06:09Highlight over the text actual in the replace field and type difference.
06:15Highlight over the text in the find field and also type difference.
06:20Then highlight over all of the TH code in the find field and type an opening TD tag and a closing TD tag then click replace all.
06:30So now we have all of the cells that are heading other cells correctly marked up as TH cells with their scope attributes set correctly as well.
06:39This gets the complex table closer to being fully accessible but we still haven't added the ID and headers attributes that I mentioned earlier.
06:47We'll continue to improve this table in the next movie.
Collapse this transcript
Adding id and headers attributes
00:00>> In the last movie we began marking up a complex table with better HTML to describe what each data cell was headed by.
00:07But since each of the data cells in the table are headed by three different cells, we really need to use the ID
00:13and headers attributes to further enhances its accessibility.
00:17If you're following along with the exercise files, open the page government.html in Dreamweaver.
00:22That's located in the 07_06 folder of the chapter seven exercise files.
00:27Click on the code button in the document tool bar.
00:30Scroll down in code view until you get to the table that we're currently working on.
00:35It starts on line 86.
00:37Place your cursor inside your first TH tag with the text fiscal year inside of it.
00:42You can place your cursor immediately before the scope attribute.
00:45What we're going to do is give each table header cell an ID then in each of the data cells, we'll specify what ID's head that cell.
00:54So with your cursor in the first TH cell, type ID="year".
00:59You can give the ID attributes any value that you want, but you probably want to give them meaningful names so that it will be easier
01:10to identify the correct ID's for each of the data cells, but also make them short names because you're going to have
01:16to type them many times into the headers attributes of those data cells.
01:21They don't have to be listed before the scope attribute of the TH cells, but it's a good idea to put them first
01:26because when you're adding the headers attributes to the data cells, it makes scrolling back up the table to glance
01:32at what the ID's you set earlier were easier since they'll all be in a row.
01:36Now place your cursor in the second TH cell and type ID="budget" and a space.
01:42In the third TH cell type ID="dollars" and a space.
01:55And in the fourth header cell of the first row, type ID="percent" and a space.
02:05The next row also starts off with a TH cell.
02:11Click inside that TH cell immediately before the rowspan attribute and type ID="2006" and a space.
02:22Since this cell is a header cell, it needs an ID attribute set.
02:25But it, too, has its own header, the fiscal year cell that we labeled above.
02:30So to identify that relationship we're going to use the headers attribute.
02:34Type in headers="year" and a space.
02:42This is telling the browser or other devices that the header for this particular year is the fiscal year cell with the ID of year.
02:50Now move on to the second TH cell in the second row.
02:53Click before the scope attribute and type ID="ad06" and a space.
03:02This cell is also being headed by other cells, so it needs the headers attribute too.
03:07Type in headers="budget 2006" and a space.
03:17We've used two separate values separated by a space within the headers attribute because this cell is headed by two separate cells,
03:30the budget cell in the first row and the 2006 - 2007 cell in the same row.
03:36You can include as many values as you need to inside of the headers attribute, each one separate by a space.
03:42The order that you write them is not important.
03:44Now let's move on to a regular TD cell.
03:47Click inside the first TD cell immediately before its closing bracket.
03:51Enter a space then headers="dollars 2006 ad05".
04:02Here we've specified that three cells are headers for this cell, the dollars cell, the 2006 cell and the ad06 cell.
04:17So you can see that this provides a lot more detail of explicit information about how this cell is being headed than the scope attribute provides.
04:27Let's apply the headers attribute one more time to the final cell in the second row of our table.
04:32Click inside the opening TD tag, before its closing bracket and type space headers="percent 2006 ad06".
04:46This cell shares two of the same headers cells as the one above it, but its first header cell, percent, is different from the one above it.
04:57Again, this is just providing very detailed explicit information about the relationships in the table.
05:03You can continue adding the ID and headers attributes to all subsequent rows until every cell is linked to the others that label it.
05:10Remember, you only have to use these attributes when you have a complicated table that you can't remake into a simpler version
05:16where scope can't directly tie each cell to its single row header and single column header.
05:21The HTML table elements and attributes that we've discussed in this chapter can turn what may have been an incomprehensible heap of words
05:28and numbers to a screen reader user into meaningful data that many devices and people can correctly interpret.
Collapse this transcript
8. Creating Forms
Understanding form accessibility issues
00:01>> Web page forms are a common and vital source of interaction between your users and your site.
00:06What may look like a very easy to understand and simple form to use to a sighted user can be quite challenge to use for some people
00:13with disabilities if certain features aren't set in the HTML.
00:17People with mobility impairments might find it impossible or difficult to set the cursor in a text field
00:23and a blind person might not know what the fields of the form are for.
00:26One of the things that makes form elements accessible to the blind and visually impaired is labeling the form elements.
00:33Most forms already have labels written beside the fields, but the problem is that if there's nothing in the HTML to associate that piece of text
00:40with the adjacent field, then it's just another piece of text and the screen reader cannot know what
00:46to tell the user to fill in when it comes to a particular field.
00:50If you're following along with the exercise files, open the file departments.html in a browser.
00:56It's located in the 08_01 folder of the chapter eight exercise files.
01:01This page contains a simple form.
01:04It's very easy for sighted users to know what to fill in each of these fields.
01:09The proximity of these text labels makes a visual connection clear, but there's nothing in the HTML to make that explicit.
01:17Screen readers will often guess what the label for a field is.
01:21But what if they guess wrong?
01:23The variety of placements of labels makes that quite possible.
01:26You'll see that the first three fields of this form have the label placed off to the left of the field, name, email and phone.
01:35Then we have a question above two radio buttons and then their labels are placed off to the right.
01:41Finally another label placed to the left.
01:43And then a label placed above the field.
01:46So without something in the HTML to tell a screen reader what piece of text relates to what field,
01:52it's going to have a very hard time helping its users to fill out the form correctly.
01:58Also, radio buttons such as these, as well as checkboxes can be very hard to select for people who do not have fine motor control.
02:07This form could be fixed quite easily by using the label element in HTML.
02:12It should be wrapped around every piece of text that describes the purpose of an adjacent form control.
02:17Every form control should have a label.
02:20And a label can only correspond with one form control.
02:23The only form controls that don't need labels are submit buttons and submit images,
02:28as their descriptive text is contained in their value and alt attributes, respectively.
02:33Labeling form elements is essential to ensure that even a person who cannot see the form can determine what each text field,
02:40checkbox, radio button and other form elements are for.
02:44In addition, a label element essentially expands the clickable area of a field.
02:49If a radio button or checkbox has a label beside it, you can click anywhere in the label to select that button or checkbox.
02:58Next we'll look at how to add labels to forms, both existing ones that you need to retrofit and new ones that you're building from scratch.
Collapse this transcript
Labeling form fields
00:01>> In the last movie, we learned how important it is for form elements to be labeled so that all users can know what to fill
00:07in each field and can do so without too much trouble.
00:10In this movie we'll add labels to the form in the departments page of our example site.
00:16First let's talk about the different options for form labels.
00:19They can either be implicit or explicit.
00:21Implicit labels are wrapped around the form control that they label.
00:26This keeps the HTML very simple.
00:28But the problem is that this setup is not supported in older screen readers.
00:33It also makes it harder for you to style with CSS, as we'll see later.
00:37Explicit labels are placed separately from the form control, either before or after it, and they don't need to be right next to the form control.
00:46The connection then is made by an ID attribute on the form field itself and a for attribute with the same value for the label tag.
00:56This method is well supported and gives your more styling options with CSS, so let's use this label method
01:03on the departments page form that we looked at in the last movie.
01:08If you're following along with the exercise files, open the page departments.html in Dreamweaver.
01:14It's located in the 08_02 folder of the chapter eight exercise files.
01:19This form does not currently have labels set on any of the fields.
01:23Select over the text name in the first row of the table.
01:27Now right click or control click on the highlighted text and choose quick tag editor.
01:33You'll be asked to wrap a tag around the highlighted text.
01:37Type label or choose it from the menu of tags shown.
01:42We also need to add a for attribute so then type a space, then for="name".
01:49This is stating that we want this text to label a field that has an ID attribute of name.
02:01Click on the field beside the name label.
02:03Now we need to give the field that ID attribute so that they are connected.
02:08Right click or control click on the field next to name and click on edit tag in the menu shown.
02:14The tag editor dialogue box appears.
02:17Click on the style sheet/accessibility category on the left hand side of the dialogue box.
02:23Click inside the ID field and type name.
02:27Then click okay.
02:29Let's go into code view to see how this has changed the HTML.
02:33Click on the code button in the documents toolbar.
02:36The input tag that we just edited will still be highlighted.
02:40You can see that it has a name attribute set, which is what is used by the form processing script.
02:45Then it has a type attribute set, which determines what type of attribute it is.
02:49And then finally there's the ID attribute that we just added.
02:53We've given it the same value as the name attribute, but it doesn't have to have the same value.
02:58For instance, we could have given it an ID of field-name.
03:03If we did this we'd have to make sure that the for attribute of our label tag had this same value.
03:09This is a spot where the attributes must match.
03:12The for attribute on the label must have the same value as the ID attribute on the form control.
03:19Go back to design view now by clicking on the design button in the document tool bar.
03:24Let's see how we would add a label when first inserting the form field.
03:28Place your cursor in front of the phone text in the form table.
03:32Go to the insert menu and choose table objects, then choose insert row above.
03:38Place your cursor inside the second cell of this new table row.
03:42Then go to the insert tool bar and click on the forms tab.
03:46Next, click the text field button, the second button from the left, to insert a new field.
03:52The input tag accessibility attributes box appears.
03:56If we had not checked the form option under Dreamweaver's accessibility preferences as we did
04:01in an earlier movie, this dialogue box would not appear.
04:05Instead, it would simply insert the text field and not prompt you for a label.
04:09You could still add a label yourself later, but having this dialogue box servers are a good reminder
04:15to always add a label every time you add a form field.
04:19Click inside the label field first, type address: space, now click back inside the ID box.
04:29Here's where we need to set the value of the ID attribute.
04:32Dreamweaver will also set it as the value of the for attribute when it creates the label for us.
04:37Type address.
04:38Next, in the dialogue box, we need to choose a style of label tag.
04:43The first option is to wrap with label tag.
04:46We've talked about why this isn't ideal, so choose the second option, attach label tag using for attribute.
04:52The next option asks you where you want to position the label, before the form item or after the form item.
04:58Keep before form item selected.
05:01Don't worry about the access key or tab index items for now.
05:04We'll talk about them later.
05:06Click on okay.
05:07Let's go into code view to see the HTML that Dreamweaver created.
05:11Click on the code button in the document tool bar.
05:14The new field and its label are highlighted in HTML.
05:19If we look at the for attribute of the label, we can see that it matches the ID attribute of the input tag.
05:25Now we simply need to move the label out of this table cell into the first cell of the row.
05:30Highlight over the entire label element from its closing tag to its opening tag,
05:36then press control X or command X on your keyboard to cut the selection.
05:41Next, highlight over the content of the cell immediately above the one we were just in then press control V or command V on your keyboard.
05:50Now click on the design button in your document tool bar.
05:52Our label element is now in the correct table cell.
05:56So once our form has labels added to all of the fields, it should be much more accessible to many more people.
06:01Another accessibility enhancement we can make is adding field set and legend elements.
06:06We'll do that next.
Collapse this transcript
Adding fieldsets and legends
00:01>> Once we have labels added to our forms, another type of structure we can add is field sets and legends.
00:06A field set groups a series of related form elements, for instance field for street address, city,
00:12state and zip code could all be grouped under mailing address.
00:16You could create a field set that groups all of these elements and give it an appropriate legend to describe that group.
00:22The legend is essentially a heading for all of the items in the field set.
00:26When a person using a screen reader comes to one of the fields in a field set, the screen reader will also read
00:32out the legend text before the label, such as mailing address city.
00:37Using legends and field sets in addition to labels is especially important when you have two groups of elements that are very similar except
00:44for their groups type, such as a group of fields for billing address and a group for mailing address.
00:50You probably don't want to write billing address city, billing address zip code and so on for every label in your form,
00:56so providing a legend with that additional information lets you keep your information simple for sighted users while still understandable to those
01:03who can't see a heading for an entire group of fields.
01:07If you're following along with the exercise files, open the page departments.html in Dreamweaver.
01:13It's saved in the 08_03 folder of the chapter eight exercise files.
01:17This is the same form we were working on in the last movie, but the remaining labels have been added to all of the fields.
01:23Also, the single table that was holding together the entire form has been split into multiple tables to make adding the field sets easier.
01:31We're going to do that now.
01:32Click inside the form, go to the insert tool bar at the top of Dreamweaver and select the forms tab then select the field set button.
01:41It's the fifth button from the right immediately to the right of the button labeled ABC.
01:45Click on that button.
01:47A dialogue box opens asking you for the legend.
01:51Type in contact information then click okay.
01:57We now need to add the first table in our form into that field set.
02:01Click inside the table then go down to the tag selector at the bottom of the document window and click on the table tag.
02:08Press control X or command X on your keyboard to cut the table.
02:12Then place your cursor at the end of the contact information legend and press enter or return.
02:17Then press control V or command V on your keyboard to paste the table into your field set.
02:23Scroll down to the next table.
02:25Place your cursor to the right of the second table.
02:29In the insert tool bar again click the field set button.
02:32Once again we're asking for a legend.
02:34In the case of a grouping of radio buttons or checkboxes, the question that precedes that groups should be the legend.
02:41That's because the question is essential for understanding the items below it.
02:45You want to make sure that it gets read as well as the label text for each of the individual radio buttons and checkboxes,
02:51so you can put the question itself into the legend, so simply retype the question do you prefer to be contacted via email or phone?
03:02Then click okay.
03:04Now we can delete this row of the table.
03:07Click inside the table cell with the question listed then click the TR tag in the tag selector then click on the code button in the document tool bar.
03:15The entire row will be selected, so simply hit backspace or delete on your keyboard to get rid of it.
03:20Go back to design view by clicking on the design button in the document tool bar.
03:24Click inside the email and phone table and then click the table tag on the tag selector.
03:29Press control X or command X to cut the table, then place your cursor at the end of the question legend,
03:36hit enter and hit control V or command V to paste in the table.
03:40We have one more field set left to add.
03:43Click beside the final table then in insert tool bar click on the field set button.
03:48In the dialogue box enter your comments in the legend field then click inside the table above, click on the table tag in the tag selector,
03:57hit control X or command X to cut, place your cursor at the end of the your comments legend, hit enter or return, and control V or command V to paste.
04:06The last item in the form is the submit button.
04:09It's not necessary to wrap a field set around this button.
04:12If you did have several buttons that could be used on your form though, you might consider wrapping them all in a field set.
04:17We don't need to do that on this form so we've finished adding all of the structure that we need.
04:22It now has all of the extra pieces of HTML that it can for accessibility, labels, field sets and legends.
04:29But we can further improve its structure by removing the fields from the tables that are currently being used for the form layout
04:35and use CSS instead to control the forms formatting.
04:39We'll cover how to do that next.
Collapse this transcript
Moving forms out of tables
00:01>> We learned in earlier movies that tables should be reserved for tabular data and that CSS should be used to control all the visual formatting.
00:10This applies to our form as well.
00:12When we talked about avoiding tables for layout, we discussed how it's acceptable to use the table if it linearizes well
00:19and you don't have other options, so it's not imperative that you switch the form over to CSS layout.
00:25However, if you do keep a form inside a table for layout, do not add any of the table accessibility features we talked
00:31about in the previous chapter, such as TH header cells to your layout table.
00:36However, if you do keep a form inside a table for layout, do not add any of the table accessibility features we talked
00:42about in the previous chapter, such as TH header cells to your layout table.
00:46These should only be used by data tables.
00:48Screen readers like JAWS look for these features to try to determine if a table is being used for layout or for data and they change what they read
00:56out to the user accordingly, so always keep layout tables marked up with plain TD table cell elements and no other special HTML markup.
01:05Laying out your form with CSS is still the more accessible option.
01:08Remember that CSS layouts can adjust more easily to different devices and user settings, while tables remain stuck in rigid grids.
01:16Someone using a very narrow screen or only viewing a small area of the screen at a time
01:20with a screen magnifier may have a harder time filling out a table based form.
01:25To layout our form with CSS, we'll first group each labeled field pair.
01:29We'll use a list to do this as this form really is a list of questions.
01:33If you're following along with the exercise files, open departments.html in the 08_04 folder of the chapter eight exercise files.
01:42We're going to add an ordered list, one to each field set.
01:45We're going to have to start this out in code view because Dreamweaver won't let us use the ordered list button
01:50on the properties inspector inside a field set, but while still in design view, click inside the first set so that we'll go
01:57to the correct spot in the code when we switch over.
01:59Now click on the code button in the document tool bar.
02:02Your cursor should be after the first closing table tag.
02:05Highlight over the entire paragraph element below the closing table tag then type an opening OL tag, hit enter to go to a new line,
02:14then type in an opening LI tag, and then close the OL tag.
02:18Now click on the design button of the document tool bar.
02:22You'll see the number one and our bullet flower image.
02:24Now we can start pulling the labels and form fields out of the table into our new list.
02:29Click on the name label.
02:31To make sure that we move the entire label element, not just its text, click on the label tag in the tag selector then move your mouse back
02:39over the highlighted name text and click and drag it down beside the one
02:43and the bullet flower image then click on the input field that went with the name label.
02:48Click and drag this down beside the name label.
02:51Place your cursor after this input field and hit enter to start this next list item.
02:56Click inside the email label then click on the label tag in the tag selector.
03:01Place your mouse back over the highlighted email text and click and drag it down into the second list item them click
03:07on its field and drag it down beside the email label.
03:11We'll continue doing this for the rest of the table.
03:14Now all of the fields are in the list.
03:16Click anywhere inside the table then select the table tag showing in the tag selector then hit delete on your keyboard.
03:23We can repeat this process for each field set so that each labeled field pair in an ordered list.
03:29This gives the form a more semantic HTML structure.
03:33Although it doesn't look that great right now, it's still quite clear what label goes with which field.
03:38Fortunately we can use CSS to improve its appearance for sighted users.
Collapse this transcript
Cleaning up a form's appearance
00:01>> If you're following along with the exercise files, open departments.html in Dreamweaver from the 08_05 folder of the exercise files.
00:10This is the same page we worked on in the previous movie, but all of the remaining tables have been removed
00:15and all of the labeled field pairs are now in ordered lists.
00:19With all the HTML pieces that the form set, we can now begin styling our form with CSS.
00:24We'll start by formatting the field sets and legends.
00:28Click on the new CSS rule button at the bottom of the CSS styles panel.
00:33In the new CSS rule dialogue box, choose tag as the selector type.
00:38In the Tag menu, choose field set.
00:40Keep define in styles.css selected.
00:44Click okay.
00:46For the field set, we simply want to work on its margin and padding properties in order to iron
00:51out inconsistencies between the browsers, so click on the box category.
00:57Leave the same for all box checked under padding and enter 0 in the top field.
01:02Under margin, uncheck the same for all box.
01:04Enter 0 in the top, right and left fields.
01:09In the bottom field enter 1 and then choose M's as the unit of measurement.
01:14This just provides space underneath each field set to separate them out from each other.
01:19Now click okay.
01:20Next let's add a rule for the legend element, so click on the new CSS rule button at the bottom of the CSS styles panel.
01:28Choose tag as the selector type.
01:30Then in the Tag menu scroll down and select legend from the list of tags.
01:36Leave define in styles.CSS selected and click okay.
01:40In the CSS rule definition dialogue box click on the Weight menu, choose bold.
01:45This will set the legend text apart from the label text, which it heads.
01:49Then click on the box category, uncheck the same for all box under margin.
01:54Enter 1 in the left field under margin and choose M's from the adjacent menu for its unit of measurement this simply moves the legend text away
02:03from the left side of the field set to make up for the padding that we earlier removed from the field set.
02:08Now click okay.
02:10You can see that now the legend text is bold, but other than that our form hasn't changed too much in appearance.
02:16Let's start removing the list formatting.
02:19Click on the new CSS rule button at the bottom of the CSS styles panel, keep advanced selected for the selector type.
02:26In the selector field delete the default text that Dreamweaver has entered and type in field set OL.
02:35This will select all of the ordered lists within all of he field sets.
02:39Leave define in styles.css selected then click okay.
02:44Click on the box category in the CSS rule definition dialogue box.
02:48Leave the same for all box checked under padding and enter 1 in the top field then choose M's from the adjacent menu for its unit of measurement.
02:58Also leave the same for all box under margin checked, but enter 0 in its box.
03:04You are just adjusting default list spacing.
03:07We also want to remove the numbering showing on the lists, so click on the list category in the dialogue box.
03:14Click on the arrow of the Type menu and select none.
03:18This removes all list markers, in our case, numbers.
03:21Click okay.
03:23Let's scroll down the page in design view a bit to see how the page is looking up.
03:30The numbers are now gone from the list, but we still need to get rid of the bullet image.
03:35This was set earlier on our LI elements, so we'll need to override it with a new rule.
03:40Click on the new CSS rule button at the bottom of the CSS styles panel, keep advanced chosen as the selector type,
03:48delete the default text in the selector field, type field set LI.
03:55Leave defined in styles.css selected and then click okay.
04:00Click on the background category first.
04:03Click inside the background image field and type none then click on the box category.
04:10Leave the same for all box checked under padding and type 0 in the top field.
04:15Under margin, uncheck the same for all box.
04:18Enter 0 in the top, right and left fields.
04:23In the bottom field type one and choose M's from the adjacent menu.
04:28This bottom margin spaces out each label field pair from each other.
04:33Now click okay.
04:36Now the bullet images are gone and our form already looks a lot better.
04:40It would be nice though if we could line up each of these text fields in the first field set to make the form look a little cleaner.
04:47We'll continue adding to the CSS to improve the appearance of our form in the next movie.
Collapse this transcript
Aligning labels and fields using CSS
00:01>> In the previous movie we began cleaning up the form's appearance in CSS, but there are still some improvements
00:06that we can make to the alignment of the labels and their fields.
00:10Remember that we floated the items in the mainNAV bar to get them to line up nicely side by side.
00:16We'll use a similar technique here.
00:18We'll float the label elements so that they'll align better with their matching fields.
00:23If you're following along with the exercise files, the page we're working on is named departments.html and can be found
00:30in the 08_06 folder of the chapter eight exercise files.
00:34In the CSS styles panel click the new CSS rule button at the bottom, choose tag for the selector type.
00:43In the Tag menu, scroll through the lists and select label.
00:49Keep define in styles.css selected then click okay.
00:53In the CSS rule definition dialogue box click on the block category.
00:59Click on the arrow of the Text Align and select right.
01:03Next click on the box category.
01:05We want the width of each of the labels to be consistent so that their text fields will cleanly line up on their left side,
01:12so click in the width field, type six and in the adjacent menu choose Ms. We can't choose a pixel measurement for the label width
01:22because we have no idea how large or small the user's font size is.
01:26If we set the width in Ms though, it will adjust based on that font size.
01:31Remember that one M is roughly equal to two characters.
01:35So a width of six M's would give us about 12 characters before the text would start wrapping.
01:39This is fine for the labels in our particular form.
01:42When you're making your own forms, simply adjust this width to fit the length of your longest label.
01:49Next, uncheck the same for all box under padding.
01:52Click in the right field and enter .5 and then choose Ms from the adjacent menu.
01:59This gives us a little bit of space between the right side of the text label and its form field.
02:05Finally, click on the float menu and choose left.
02:09Now click okay.
02:12Let's preview the page in a browser and see how it's doing.
02:15Click on the globe icon in the document tool bar and choose preview in Firefox.
02:20A dialogue box will open saying that additional files need to be saved for the preview to work.
02:27What this is referring to is the fact that when we made a change to the style sheet, Dreamweaver opened it up but did not
02:33yet save it in case we wanted to undo the styles that we added.
02:37Before we can preview departments.html Dreamweaver needs to save styles.css, so click yes for it to save that file.
02:46Now our preview opens in Firefox.
02:48You'll see that all of the labels are nicely aligned on the right hand side and all of the fields are nicely aligned on the left.
02:56There's plenty of space between each field for it to remain readable.
03:00Now let's scroll down the page and look at the other field sets.
03:03Unfortunately, the labels and radio buttons are very misaligned now in the second field set.
03:08The third field set looks okay.
03:10But this long label looks a little bit awkward off to the left of its field.
03:15What we can do is create special classes for these special cases.
03:19The styles that we just added will work with a majority of the fields in most forms, since most forms are heavily made up of text fields.
03:28But for the cases where we want labels to be to the right of its field, or for the cases where the label is long and we want it to be
03:35above its field, we'll need to create special classes.
03:39Close Firefox.
03:41Click on the new CSS rule button at the bottom of the CSS styles panel.
03:46We're going to create a special class any time we have a question with multiple options using radio buttons or checkboxes.
03:54We'll name this class options.
03:56So delete the default text in the selector field and type .options, but we don't need to style this class itself,
04:05instead we need to style the label within this class.
04:08That's because what we're trying to do here is override the styles on the label tag that we just set.
04:14So now let's specifically target labels that we within items with the class of options.
04:19So leave advanced chosen for the selector type.
04:23And as a selector, after you've typed .options, type space label.
04:31Leave define in styles.css selected and click okay.
04:35We want to remove the floating and the right text alignment, so first click on the block category.
04:41Click on the Text Align menu and choose left then click on the box category.
04:47Place your cursor inside the width field and type auto.
04:52This overrides the width that we previously set on the label element.
04:57Auto simply means let the element be as wide as it needs to be.
05:01This will allow the options beside radio buttons and checkboxes to be as long or short as they need to be.
05:08Since they're aligned with their radio buttons and checkboxes cleanly on the left side of the text by default,
05:15we don't need to worry about setting the width for them to get them to nicely line
05:18up like we did with labels that were to the left of text fields.
05:22Next, select the float menu and choose none.
05:26Again, we're simply overriding the float property that was set on the label element earlier.
05:32Now click okay.
05:34We haven't yet applied this class in the page, so there won't be anything to see in Dreamweaver or in a browser.
05:40Before we apply the options class, let's create the second class that we'll need for labels that are long
05:45and need to be aligned over their fields instead of to the left.
05:49Click on the new CSS rule button, leave advanced chosen as the selector type and delete the text in the selector field.
05:57These types of long labels are usually rather explanatory in nature so I'm going to call the class explanatory.
06:04Type .explanatory label.
06:09Leave define in styles.css selected and click okay.
06:14What we want to happen here is again remove the float width and right text alignment.
06:19But we also want to tell the label to sit on its own line above its field.
06:24We can do that using the display block property.
06:27Remember that block elements stack on top of each other.
06:30Click on the block category in the CSS rule definition dialogue box then click on the Display menu and choose block from the list of options.
06:40Next click on the Text Align menu above and choose left.
06:44Now click on the box category, type auto in the width field, and select none in the Float menu, now click okay.
06:54We now have our classes ready to apply.
06:56Scroll down the page in design view.
07:00Click on the email label of the first radio button, then click on the LI tag shown in the tag selector.
07:07Right click or control click on this tag and select quick tag editor, then type space,
07:13and a list appears of possible attributes you can add to this tag.
07:17Class is as the top of the list, so double click on class and you'll then be shown a new menu with classes defined in styles.css that we can choose.
07:27Choose the options class.
07:29Double click on the options class to choose it.
07:32You can see that immediately the label jumps back up by the radio button.
07:36Repeat this for the phone label of the second radio button.
07:40Click inside that label then click on the LI tag in the tag selector.
07:45Click inside the phone label then right click or control click on the LI tag in the tag selector.
07:51In the menu that appears choose quick tag editor, type a space and double click on class from the menu that appears.
07:58In the second menu then, double click on options.
08:02We're done with our radio buttons, so scroll the rest of the way down the page
08:06and click inside the last label on the page for the large text area field.
08:11Right click or control click on the LI tag in the tag selector and choose quick tag editor.
08:17Type space, double click on class from the menu and then this time, double click on explanatory from the second menu that shows.
08:26Again, the label immediately changes its alignment.
08:28This time above the form field.
08:31Go to file > save to save your page.
08:35Then click over to styles.css to save this file as well.
08:40Go to file > save.
08:42Click back in departments.html.
08:45We're now ready to preview in the browser.
08:47Click on the globe icon in the document tool bar and select preview in Firefox.
08:53Our first field set hasn't changed in appearance.
08:56Our second and third field sets are much improved.
08:59Now the radio button items are nicely aligned with their labels.
09:02And the long label in the third field set sits above the text area.
09:08This is just the beginning of the styles that you can apply to forms using CSS.
09:13One thing to note about styling forms, however, is that the operating system has some control over the appearance of form elements,
09:20so you can't greatly alter the appearance of the actual form controls themselves.
09:25Although this may be a negative for branding purposes, it can be a positive for accessibility because it keeps the form controls
09:32from looking radically different than they do on other sites do that users know how to interact with your form correctly.
Collapse this transcript
Indicating required fields
00:00>> Most forms contain some fields that must be filled out in order for the form to be submitted.
00:06It's important to notify your users of which fields are required before they fill out the fields so that they can do so correctly.
00:13And of course you need to make sure this essential information is provided to people with disabilities as well,
00:24so make sure that you avoid using colors to indicated fields that are required versus fields that are not.
00:31Remember that not everyone is able to distinguish color.
00:34People can also change the settings in their browsers to change the colors you have set.
00:38And of course screen reader users will not be able to see the color.
00:43This means you should also avoid other visual formatting such as bold.
00:47This probably has a greater chance of being understood by sighted users but it's still not accessible to visually impaired and blind users.
00:56They need to have something in the HTML that can be conveyed to them.
01:00Another important consideration when indicating required fields is that you want to notify your users of the requirement before they get to the field.
01:09Remember that a screen reader will be reading things in order and also,
01:13people using screen magnifiers are only seeing a very small portion of the screen at a time.
01:18If you place the indication of the required field after the field itself,
01:23users of these devices will probably already have skipped past the field and may never see the required filed indication.
01:31An asterisk is frequently used to denote required fields in a form.
01:35This has become so frequently used that it's basically a web convention now and is rather well understood even by screen reader users,
01:43so it's okay to use an asterisk, but make sure that you still notify all users about what the symbol means.
01:50Something to keep in mind, though, when using an asterisk is that it's a very small character and may be hard for visually impaired users to see.
01:59If you can design your form so that the actual word required could be listed with every field, that's the most accessible option.
02:08If you're following along with the exercise files open the page departments.html in Dreamweaver.
02:14It's located in the 08_07 folder of the chapter eight exercise files.
02:19Let's mark some of the fields in this form as required.
02:22We'll use an asterisk to do so.
02:24So first, we'll put a message explaining this in the paragraph that precedes the form.
02:29Place your cursor at the end of the paragraph text and type required fields are indicated by an then type *. Let's markup this entire sentence
02:47with strong text because it's important information that we want to emphasize.
02:51Open the properties inspector if it's not already open and click on the B button.
02:57We can see in the tag selector that this applied strong text to our text.
03:01Now scroll down the page, place your cursor at the end of the name label text and type in an asterisk.
03:08Highlight over this asterisk as well and click on the view tag in the properties inspector.
03:15It's important that the asterisks be placed inside of the label element.
03:19This is because many screen readers have a special way of moving through forms known as forms reading mode.
03:25In this mode, the user can quickly jump from field to field filling out the information.
03:30When in this mode, the only text that is read to the user are the text of the legend and label elements.
03:37If you place text outside of the labels or legends in your form, there's a chance that a screen reader user will never heard it.
03:45So keep the indication of which fields are required inside the label.
03:49W can see in the tag selector that the strong tag is inside of the label tag, which is listed to its left to show that it's the parent element.
03:59What if we wanted to provide even more explicit text about which fields are required
04:03to screen reader users who may not understand what the asterisk means?
04:08We can again use the off left positioning method to create text that will be read by screen readers but will not be seen by sighed users.
04:17Click on the code button in the document tool bar to go into code view.
04:21Place your cursor after the asterisk that we just typed then type an opening span tab, a space,
04:28and in the menu of attributes that appears, double click on class.
04:32The class attribute is added and now we have a new menu showing the available classes.
04:38Double click on the off left class then move your cursor outside of the closing quotation marks
04:43and type the closing bracket for the opening tag of the span.
04:47Now we can type the text required.
04:51Now type the closing span tag.
04:54When you type the first bracket and slash, Dreamweaver finishes the rest of the closing tag for you.
05:00Click on the design button in the document tool bar.
05:03You'll see that Dreamweaver is showing the text required on the screen.
05:07But remember that Dreamweaver is not an actual browser, it doesn't always show things exactly as they will appear in a real browser,
05:14so let's click on the globe icon in the document toolbar to bring up the preview in browser window and choose preview in Firefox.
05:22We're asked to save the page, so click yes.
05:26We can see that in the browser only the asterisk is displayed.
05:31The rest of the text that says required is not on the screen.
05:35So this is an instance where the display in Dreamweaver is not completely accurate.
05:39Nevertheless our technique has worked.
05:42Although the asterisk is colored red, we're not indicating that the form is required by color alone,
05:48we're indicating it with a symbol that we've explained.
05:52The color is just an example of progressive enhancement.
05:55There's still something there in the HTML, in this case a symbol, marked up with a strong element
06:01and also containing the text required for screen readers.
06:05The important thing to remember is that required fields need to be indicated
06:09through something in the HTML, not through visual formatting alone.
Collapse this transcript
Dealing with CAPTCHA
00:00>> A CAPTCHA is a distorted image of text or numbers that's commonly placed on forms in order to reduce spam.
00:06You'll often see it on registration forms and blog comment forms.
00:10The reason it's there is to tell humans and computers apart.
00:14A human has to type in what letters or numbers are seen.
00:17Spam bots are programs that automatically go out and fill out forms to submit spam.
00:22Since they're not humans and cannon see the images, they cannot read them.
00:26However there are some spam bots that can read clear images using visual character recognition technology.
00:32That's why the images you are asked to transcribe on forms are so distorted looking.
00:37If they were clear and easy to read, spam bots might be able to get through.
00:41Of course, the fact that they are so hard to read is a big accessibility concern and they can't be used at all by blind or visually impaired people.
00:49A blind person cannot see the image at all.
00:51And someone with a serious visual impairment will likely not be able to read the image at all either.
00:56In these cases, these people won't be able to submit the form.
00:59And in some cases, they won't be able to use the site entirely if the site requires a registration in order to use all of its features.
01:06There's not way to make CAPTCHA images accessible because you can't put alt text on them.
01:11If you did so, then the spam bots would simply read the alt text and fill that in and get through the form.
01:16One attempt at addressing the accessibility issues with CAPTCHA is to include a link to a recording of letters or numbers being spoken
01:23and ask the user to listen and transcribe what they hear.
01:27There are still serious accessibility problems with this however.
01:30The audio is just as jumbled as the images are, again, in order to prevent advanced programs
01:36from being able to recognize what is being spoken and get through.
01:40And of course, an audio version does not help someone who has both vision and hearing impairments.
01:45An example of this type of system is online at reCAPTCHA.net.
01:50Let's see how it works.
01:52Go to the URL reCAPTCHA.net.
01:58ReCAPTCHA is a free CAPTCHA program that anyone can place on their site.
02:03It includes an audio backup by default.
02:05On the ReCAPTCHA website, click on the link what is ReCAPTCHA?
02:09An example of the types of CAPTCHA image is shown.
02:14Underneath the images are three links.
02:16One to refresh the image if this particular one is too hard to read.
02:20The second is a link to an audio recording to hear instead.
02:23Click on that audio link.
02:25( Indistinguishable digital voice )
02:54>> That's a great example of how garbled most audio backups are on CAPTCHA systems.
02:59There are no easy answers regarding CAPTCHA.
03:02The best thing to do, of course, is to never use it.
03:04There are other programming techniques that you can use to try to combat spam.
03:08Those are beyond the scope of this title, but there are many other options out there for you to investigate.
03:13If you must use CAPTCHA, you should provide both an audio version and an alternate contact method as a backup.
03:19The ReCAPTCHA system that we looked at online is a good option for when you have to use a CAPTCHA because it does have an audio backup,
03:26but even when using ReCAPTCHA or something similar, remember to include a phone number on your site so that users
03:32who still cannot get past the CAPTCHA can contact you for help.
Collapse this transcript
9. Deprecated Accessibility Techniques
The Text-Only technique
00:00>> There are some accessibility techniques that while good intentioned have proven to be ineffectual
00:05or have even harmed accessibility in their implementation.
00:09In this chapter we'll discuss three of those techniques and the problems that they pose.
00:13The first is the practice of creating text only pages.
00:17This is an alternate version of a webpage with all images, multimedia and formatting stripped out.
00:22The idea is to create a second version of every page on the site.
00:26Every page on the web site would then link to its text only version and that would be the one with the intention that people
00:32with disabilities would access the text only version.
00:36Providing a text only page is mentioned in the section 508 rules as a technique to follow
00:41when compliance cannot be accomplished in any other way.
00:46Alternative pages are also mentioned in WCAG 1.0, although this guideline does not specifically state that the page must be text only,
00:53but simply that it be an alternative that has equivalent information and is updated as often as the original page.
01:01But text only page present many accessibility problems.
01:06The issue that has probably led, more than any other, to text only pages being abandoned as an accessibility technique was the fact
01:13that alternative pages were usually not kept up to date.
01:17There are programming methods that can be used to automate the creation of a text only page very time the original page is created.
01:23But even when automated and thus kept up to date, the text on the text only page may need to be rewritten manually because it may refer
01:31to things that have now been stripped out of the page.
01:34Because text only pages were rarely kept up to date, most screen reader users grew not to trust them and stopped using them.
01:41Also, text only pages do not address all disabilities.
01:44As we've seen throughout this title, accessibility is not just about making your pages usable to blind people.
01:50A text only page may be a good alternative for screen reader users, but it doesn't address the needs of other people with disabilities.
01:58In fact, a text only version may actually be more difficult for some people to use.
02:04Another issue is that the text may not convey all of the information that was shown on the original page.
02:10For example, images can convey information.
02:12And earlier, we talked about ways to make this information known to screen reader users and other devices.
02:18Stripping out everything but text, you may be removing content that could be useful to people with disabilities
02:25if you just added the accessibility features that it requires.
02:29Also, in order to get to the text only page, the user must first go through the inaccessible page, so if an organization is using a text only page
02:38so that they don't have to make the rest of their site accessible, users may never be able to find their way to the text only page to begin with.
02:47Added on to all of these accessibility disadvantages is also the disadvantage to you and your organization
02:53that text only pages are very difficult and costly to make.
02:57Again, even when automated having to make two versions of every page and make sure that each is updated at the same time as well as making sure
03:05that each is linked properly from the other, can require a great deal of time and money.
03:10All of the techniques that we have gone over in this title should negate the need for a text only page.
03:15So creating them is not a task that you need to or should take on.
Collapse this transcript
The Access Keys technique
00:00>> Access keys are another accessibility feature that were recommended with good intentions but have not worked well.
00:08Access key is an HTML attribute that can be assigned to links and form controls.
00:13You set a letter or a number on the link or form control in order to take the user directly there.
00:18On Windows they're activated by pressing ALT plus the access key.
00:24An exception to this is Firefox 2, which now uses ALT + Shift and then the access key.
00:31On a Mac, you press Control plus the access key.
00:35The idea is that they can help people to navigate around the page or to frequently access pages or form fields quickly from anywhere in the site.
00:43But the problem with access keys is that they almost always interfere with other programs keyboard commands.
00:49Screen readers already use a huge number of keyboard shortcuts.
00:53The ALT key, used with access keys on Windows, is already used in many shortcuts for accessing browser menus,
01:00entering characters by their numerical key code, and other functions.
01:04Almost the only key combinations that are safe to assign because they're not already assigned to another program are numbers.
01:11This is what the UK government recommends.
01:13The UK government has a set of standard access keys that are made up of all numbers with only one letter access key.
01:20But even if you use a key combination that doesn't interfere with any other programs, it's unlikely that your users will know
01:27that they have an access key that they can use and even if they do know that they will understand how it works and if it will help them.
01:36Finally, since access keys are defined by each individual web developer, they are not consistent across sites.
01:43A user who wanted to take advantage of access keys would have to memorize a different set for every site that they used.
01:49The UK government's standardized set of access keys helps in this area, but this is far from being a universal standard.
01:56The conclusion basically is that it's okay to set numbers as access keys on your site following something like the UK government's standards,
02:04but really access keys shouldn't be needed and they won't necessarily be used or help your users.
02:09We've gone over many other techniques throughout this title, such as setting headings, lists and skip navigation links that should be sufficient
02:17for creating accessible navigation around your site.
02:20So if you genuinely think that access keys are necessary on your page, it's probably an indication that you have a bigger problem that you need
02:28to address first with more widely used and effective navigation mechanisms.
Collapse this transcript
The Tab Index technique
00:00>> Tab index is an HTML attribute that you can set on links and form controls.
00:05You set a number indicating the order that you want those links or form fields to be tabbed through by the user.
00:11It's meant to help users navigate through your page in a logical order if the source order would be confusing.
00:17But changing the normal reading order of the page can be very disorienting to your users.
00:22This is especially problematic for sighted keyboard users.
00:25They may be able to see the next link or form field on the page and expect to be taken there when they next tab,
00:31but instead you move them to a new spot on the page.
00:34If they then hit shift plus tab to move backwards, they'll end up selecting the link or form field that is immediately before the one
00:41that they have been taken to, not the spot that they were last on the page.
00:45So as an analogy, if they started at one and you sent them to three, they might expect to be able to hit shift tab to go back to one,
00:53the last spot that they were, but instead, shift tab will take them back in the natural reading order, to two.
00:58This is especially problematic for screen reader users.
01:01Also, your idea of where the user should next go in the page may not correspond with the user's idea.
01:08They may now want to be taken to a spot further down the page.
01:11You may think the natural reading order is confusing when your readers may not.
01:15Just as with access keys tab index is the sort of feature which should never be necessary.
01:20Using the techniques that we've talked about throughout this title make sure that you structure your documents
01:25so that they have a logical reading order so that users can move through them easily and without confusion.
Collapse this transcript
Conclusion
Goodbye
00:00>> Thanks for learning about web accessibility principles.
00:03We've been able to build a site that incorporates a lot
00:05of great accessibility features while still looking and operating like a normal site.
00:10I hope you'll use these techniques in your daily work and have great success in making your sites as accessible as possible.
Collapse this transcript


Are you sure you want to delete this bookmark?

cancel

Bookmark this Tutorial

Name

Description

{0} characters left

Tags

Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading
cancel

bookmark this course

{0} characters left Separate tags with a space. Use quotes around multi-word tags. Suggested Tags:
loading

Error:

go to playlists »

Create new playlist

name:
description:
save cancel

You must be a lynda.com member to watch this video.

Every course in the lynda.com library contains free videos that let you assess the quality of our tutorials before you subscribe—just click on the blue links to watch them. Become a member to access all 104,069 instructional videos.

get started learn more

If you are already an active lynda.com member, please log in to access the lynda.com library.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Get access to all lynda.com videos

You are currently signed into your admin account, which doesn't let you view lynda.com videos. For full access to the lynda.com library, log in through iplogin.lynda.com, or sign in through your organization's portal. You may also request a user account by calling 1 1 (888) 335-9632 or emailing us at cs@lynda.com.

Access to lynda.com videos

Your organization has a limited access membership to the lynda.com library that allows access to only a specific, limited selection of courses.

You don't have access to this video.

You're logged in as an account administrator, but your membership is not active.

Contact a Training Solutions Advisor at 1 (888) 335-9632.

How to access this video.

If this course is one of your five classes, then your class currently isn't in session.

If you want to watch this video and it is not part of your class, upgrade your membership for unlimited access to the full library of 2,025 courses anytime, anywhere.

learn more upgrade

You can always watch the free content included in every course.

Questions? Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com.

You don't have access to this video.

You're logged in as an account administrator, but your membership is no longer active. You can still access reports and account information.

To reactivate your account, contact a Training Solutions Advisor at 1 1 (888) 335-9632.

Need help accessing this video?

You can't access this video from your master administrator account.

Call Customer Service at 1 1 (888) 335-9632 or email cs@lynda.com for help accessing this video.

preview image of new course page

Try our new course pages

Explore our redesigned course pages, and tell us about your experience.

If you want to switch back to the old view, change your site preferences from the my account menu.

Try the new pages No, thanks

site feedback

Thanks for signing up.

We’ll send you a confirmation email shortly.


By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

By signing up, you’ll receive about four emails per month, including

We’ll only use your email address to send you these mailings.

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked