K
Karl Groves
I am currently working on a Project Journaling Tool which uses a relational
database structure. Naturally the information in the different tables are
used to populate forms for the project journal and the journal's admin
screens.
For instance, to add a note to the journal:
1) User selects the "client" about whom they're making the entry
2) Upon selecting the "Client", we want to narrow down the "Project" list to
only include projects for that client.
3) Upon selecting the "Project", we want to narrow down the "Activity" list
to only include activities for that project.
4) THEN, we can populate the "Budgeted Hours" and "Remaining Hours" fields.
5) Then they add comments, submit the form, etc.
So, my challenge is in creating the dropdowns in the form so that they work
as I've described above, yet keep the whole thing accessible. I could do
this in 5 minutes with JavaScript, or simply refresh the page with
"onChange" to populate those fields.
Either approach is an accessibility issue. Since the site is for a
government agency, we're required by law to adhere to Section 508
guidelines.
Normally, my preferred idea would be to refresh the page with an "onChange"
event handler as the user progresses through the form. I view this as a
lesser-of-two-evils approach to handling the winnowing of options in those
other elements as opposed to actually (re)writing the dropdowns to the page
using javascript. However, this still does not address the "usability for
persons with disabilities" concern of the potential for a complete lack of
support for client-side scripting.
With my approach of using "onChange" to refresh the page, there's the issue
of the form being *completely* unusable for someone whose user-agent doesn't
support scripting. At best, users of screenreaders would be subjected to
listening to the whole page being re-read to them until they were back to
where when the page refreshed. I could set focus on reload to the next
field, which could minimize this problem, but all-in-all I don't see any way
past this issue without some sort of accessibility problem.
The Section 508 guidelines do not specifically mention anything about
refreshing pages, except for "When a timed response is required, the user
shall be alerted and given sufficient time to indicate more time is
required." I don't really view this as applicable, because they'd have all
the time in the world to interact with the form(s). The issue purely
revolves around the fact that the page would be refreshing and that, IMO, is
no different than following a link somewhere. The "usability for persons
with disabilities" issue there is the unexpected change.
Any ideas?
-Karl
database structure. Naturally the information in the different tables are
used to populate forms for the project journal and the journal's admin
screens.
For instance, to add a note to the journal:
1) User selects the "client" about whom they're making the entry
2) Upon selecting the "Client", we want to narrow down the "Project" list to
only include projects for that client.
3) Upon selecting the "Project", we want to narrow down the "Activity" list
to only include activities for that project.
4) THEN, we can populate the "Budgeted Hours" and "Remaining Hours" fields.
5) Then they add comments, submit the form, etc.
So, my challenge is in creating the dropdowns in the form so that they work
as I've described above, yet keep the whole thing accessible. I could do
this in 5 minutes with JavaScript, or simply refresh the page with
"onChange" to populate those fields.
Either approach is an accessibility issue. Since the site is for a
government agency, we're required by law to adhere to Section 508
guidelines.
Normally, my preferred idea would be to refresh the page with an "onChange"
event handler as the user progresses through the form. I view this as a
lesser-of-two-evils approach to handling the winnowing of options in those
other elements as opposed to actually (re)writing the dropdowns to the page
using javascript. However, this still does not address the "usability for
persons with disabilities" concern of the potential for a complete lack of
support for client-side scripting.
With my approach of using "onChange" to refresh the page, there's the issue
of the form being *completely* unusable for someone whose user-agent doesn't
support scripting. At best, users of screenreaders would be subjected to
listening to the whole page being re-read to them until they were back to
where when the page refreshed. I could set focus on reload to the next
field, which could minimize this problem, but all-in-all I don't see any way
past this issue without some sort of accessibility problem.
The Section 508 guidelines do not specifically mention anything about
refreshing pages, except for "When a timed response is required, the user
shall be alerted and given sufficient time to indicate more time is
required." I don't really view this as applicable, because they'd have all
the time in the world to interact with the form(s). The issue purely
revolves around the fact that the page would be refreshing and that, IMO, is
no different than following a link somewhere. The "usability for persons
with disabilities" issue there is the unexpected change.
Any ideas?
-Karl