Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4619472

Policytool does not meet accessibility requirements

XMLWordPrintable

    • beta
    • x86
    • windows_2000



      Name: dk106046 Date: 01/04/2002

      Tested on 1.3.1 and 1.4 (build 87).

      The Policytool gui does not fulfill the requirements of section 508. The folowing problems have been found on Windows:

      1. The Warning dialog which is brought up when selecting 'View warning log' from the menu is not accessible without a mouse.
      a. You are unable to tab to the OK button to select it.
      b. The close window X in the top tight corner does not work with or without the mouse (this is also a problem with Error mesages given by the tool).

      2. The tab order on all panels is incorrect for the buttons at the bottom. The tab order should go from top to bottom and from left to right. On all screens in the policytool the tab order of the two buttons at the bottom of the screen (OK / Cancel, Done/Cancel) is from right to left.

      3. JAWS screen reader cannot read labels on edit boxes (unlabeled?) such as Policy File / Keystore.

      4. Text of error dialogs not spoken by JAWS

      5. Font size not altered when used under 'Large font' system settings.
                              

      Here are some guidelines on the fixes needed:

      1. The Warning dialog which is brought up when selecting 'View warning log' from the menu is not accessible without a mouse:

      In PolicyTool.displayWarningLog(w) after adding okButton to the warning ToolDialog request the focus for the okButton, ie:

       void displayWarningLog(Window w) {
           ToolDialog wd = new ToolDialog("Warning", tool, this, true);
           ...............
           Button okButton = new Button("OK");
           okButton.addActionListener(new CancelButtonListener(wd));
           addNewComponent(wd, okButton, 1,
                           0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.VERTICAL,
                           LR_PADDING);
           okButton.requestFocus(); //<----- fix
           wd.pack();
           wd.setVisible(true);
       }

      Something similar can be done for any of the other modal dialogs which don't receive focus.

      2. The tab order on all panels is incorrect for the buttons at the bottom. The tab order should go from top to bottom and from left to right. On all screens in the policytool the tab order of the two buttons at the bottom of the screen (OK / Cancel, Done/Cancel) is from right to left.


      3.JAWS screen reader cannot read labels on edit boxes (unlabeled?) such as Policy File / Keystore.

      In PolicyTool.initWindow() add accessible names to the TextFields so that JAWS can read the accessible name describing the purpose of the TextField, ie:

             Label label = new Label("Policy File:");
             addNewComponent(this, label, MW_FILENAME_LABEL,
                              0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
                              TOP_PADDING);
             TextField tf = new TextField(50);
             tf.setEditable(false);
             tf.getAccessibleContext().setAccessibleName("Policy File");//<----- fix
             addNewComponent(this, tf, MW_FILENAME_TEXTFIELD,
                             1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
                             TOP_PADDING);

      4.Text of error dialogs not spoken by JAWS

      Something similar to 3 can be done for the error dialogs, ie, in PolicyTool.java:

       void displayErrorDialog(Window w, String error) {
           ToolDialog ed = new ToolDialog("Error", tool, this, true);
           .......................

           ed.getAccessibleContext().setAccessibleName(error);//<----- fix
           Label label = new Label(error);
           addNewComponent(ed, label, 0,
                           0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH);
           .......................
           ed.pack();
           ed.setVisible(true);
       }

      ======================================================================

            weijun Weijun Wang
            dkorbel David Korbel (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: