Accessible Calendar with selection of weeks
JAWS seems to read it too well, it reads all the numbers with the "col" and it seems to take ages. Because of this is not the best solution for screen readers but its best for visual users. One over the top solution would be is to replace the numbers with images and have a short description of the week in an ALT tag (yuck!).
_________________
Johan De Silva / Portfolio | Place of Work @Flipside | Read my movie reviews punk!
_________________
Kyle J. Lamson
Analyst/Programmer III, State of Alaska
--
LSW-WebDesign.com & DarkShadow-Designs.com
The background colour change on mouse hover is inaccessible to keyboard users. Also, it is poor usability since an element which changes on mouseover indicates that this element accepts mouse input. If an element does not accept mouse input (such as your table cells) then it should not respond to mouse events, imho.
The checkboxes don't have labels, which means that there is a very small target area to try and click. This is a usability problem as well as an accessibility problem because it is hard for anyone to click such a small object. The highlight is done with Javascript, so this feature will be inaccessible to users who have disabled Javascript. There is no header text for the column of checkboxes, which makes their purpose difficult to understand because their relationship to the caption is unclear.
| Code: |
| <th scope="col" abbr="Check Box"></th>
<th width="80" scope="col" abbr="Sunday">Month</th> <th width="30" scope="col" abbr="Monday">Mo</th> <th width="30" scope="col" abbr="Tuesday">Tu</th> <th width="30" scope="col" abbr="Wednesday">We</th> <th width="30" scope="col" abbr="Thursday">Tr</th> <th width="30" scope="col" abbr="Friday">Fr</th> <th width="30" scope="col" abbr="Saturday">Sa</th> <th width="30" scope="col" abbr="Sunday">Su</th> |
The first column has an abbreviated version (which isn't actually abbreviated) but the header has no content. Giving this a header of something like "Selected" might work better.
I would suggest changing the layout of your table, too. Instead of having a row of headers across the top and the checkboxes in neutral cells down the left side, I would move the checkboxes to the right. This puts them in line with the decision process the user has to make; the user must analyse the contents of the row before they can decide whether they want to run the banner in that week.
With the checkboxes moved to the right, the month names now occupy the left. This puts the primary information (days and months) on the top and left of the table, making it easier to navigate. Now, I would argue that the months are as much a heading as the days are, so they should also be marked up as <th> elements as well.
Finally, I would suggest giving an explicitly associated <label> element to every checkbox so that the clickable area was large and their purpose was clearer. You might choose "Select this row" or "Select this week" as the label text, as examples.
The fixed widths won't suit some devices, particularly small screens. It would be more efficient to set the widths in CSS. Using CSS for presentation like column widths would allow you to use XHTML 1.0 Strict. XHTML 1.0 Transitional is pretty much a waste of time.
Because it's such an interesting and complicated concept to work with, I'll make an example of how I think it should be done. Then we can both get told off by the people who actually know what they are doing.
(EDIT) I have uploaded my own ideas about the calendar and validated the code to check it was generally alright from a code perspective. Whether it is any more accessible or usable is another matter, of course. A big problem with using a table for the checkboxes is that <table> elements are not allowed inside <form> elements, IIRC.
Perhaps it would be better to use a list (not a dropdown) and make a multiple selection of dates within it? As long as the page explains how to use the control, it should be alright.
_________________
My CV type thing and my Life of Ben (Blog). Nigel Peck's Accessify Forum Requirements.
http://www.jasonkarldavis.com/...
_________________
Supermod @ CodingForums
Website: http://www.jasonkarldavis.com
I think the JS mouse over I did, did not prevent accessibility… the equivalent for blind users was the use of correct table mark-up…possibly.
_________________
Johan De Silva / Portfolio | Place of Work @Flipside | Read my movie reviews punk!
I have also added a multiple selection list example and a simple list of checkboxes. I think they might make for a more accessible and usable alternative than a complicated, table-based form which has more detail than may be necessary. IE does not disable the select list item which has disabled="disabled" and does not resize the text inside the select list, either.
I think the list of checkboxes is a pretty good solution. It's a proper form, it's extremely light on page size, the text resizes as expected, it's a very conventional control and has been part of HTML for a very long time.
_________________
My CV type thing and my Life of Ben (Blog). Nigel Peck's Accessify Forum Requirements.
The “table ends” is a very useful for my screen reader… its one of those things I would try and hide as it serves no use for visual users.
Thanks you for you help.
_________________
Johan De Silva / Portfolio | Place of Work @Flipside | Read my movie reviews punk!
All times are GMT
You cannot post new topics in this forumYou cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



