UI5 / UI5/webcomponents

[Table]: [Wrong reading order:- In entire application on accessing switch button within Table dialog, UI type is being read in the beginning followed by the column name]

Open
#9,773 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ACC bug Medium Prio Table_v1 TOPIC Core
Dominant language
TypeScript
Stars
1.8k
Forks
285
Avg merge
3d 2h
Merged PRs (30d)
59

Description

Describe the bug

In entire application on accessing switch button within Table dialog, UI type is being read in the beginning followed by the column name Wrong reading order. First should read column heading and then switch button.

Here is screenshot:
image
Speech history :-
Wrong Reading
Switch Off Not pressed Group Order Proposals By
column 2 row 5
Switch Off Not pressed Split Purchase Orders By
Column 3

Expected Reading
Group Order Proposals By Switch Off Not pressed
column 2 row 5
Split Purchase Orders By Switch Off Not pressed
Column 3

  <Table
          columns={
           <>
            <TableColumn>
              <Label>{t('CRITERIA')}</Label>
            </TableColumn>
            <TableColumn>
              <Label>{t('GROUPING_CRITERIA')}</Label>
            </TableColumn>
            <TableColumn>
              <Label>{t('SPLIT_CRITERIA')}</Label>
            </TableColumn>
          </>
         }
         >
        {Object.keys(filteredCriteriaMap).map((key, index) => {
          return (
            <TableRow key={index}>
              <TableCell>
                <Label>{getLabel({ key: key })}</Label>
              </TableCell>
              <TableCell>
                {parseInt(key) !== 7 ? (
                  <DialogFormField
                    name={`orderGroupCriteria.${filteredCriteriaMap[key]}`}
                    as={SwitchField}
                    accessibleName={t('GROUPING_CRITERIA')}
                    switchId={`orderGroupCriteria.${filteredCriteriaMap[key]}`}
                    onSwitchToggle={() => {
                      handleOnSwitchToggle({
                        type: grouping,
                        code: key,
                      });
                    }}
                    
                  />
                ) : null}
              </TableCell>
              <TableCell>
                <DialogFormField
                  name={`orderSplitCriteria.${filteredCriteriaMap[key]}`}
                  as={SwitchField}
                  accessibleName={t('SPLIT_CRITERIA')}
                  switchId={`orderSplitCriteria.${filteredCriteriaMap[key]}`}
                  onSwitchToggle={() => {
                    handleOnSwitchToggle({
                      type: split,
                      code: key,
                    });
                  }}
                  disabled={isReadOnly({
                    code: key,
                    type: split,
                  })}
                 
                />
              </TableCell>
            </TableRow>
          );
        })}
      </Table>
Expected Behaviour

Screen reader should convey name of the UI followed by the name of the UI i.e ‘Group Order Proposals by Switch Off Not pressed’.

Group Order Proposals By Switch Off Not pressed
column 2 row 5
Split Purchase Orders By Switch Off Not pressed
Column 3

Screenshots or Videos

No response

UI5 Web Components for React Version

^1.16.3

UI5 Web Components Version

^1.14.0

Browser

Chrome

Operating System

Windows

Additional Context

No response

Relevant log output

No response

Organization

No response

Declaration
  • I’m not disclosing any internal or sensitive information.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the reading order in Chrome with the Table, TableColumn, and SwitchField entry points shown in the issue. Inspect how the table cells and switch accessible names are exposed, then verify that the column label is announced before the switch state and that the reported row and column information remains correct.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
accessibility, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.