Skip to content

Definition lists not exposed correctly #3858

@nvaccessAuto

Description

@nvaccessAuto

Steps to reproduce:

I'm not really sure about the correctness or utility of nested DL's. This isn't specifically mentioned in the html spec
or on MDN - DL element but I have included in the example any way since many comments seem to mention it.

Example case

See below or codepen:

Test case

Term 1
Definition text for term 1
Term 2
Definition text for term 2
Term 3
Definition text for term 3
Multi definition term 4
Definition 1 for term 4
Definition 2 for term 4
DL's containing DL's
list item 1
Descriptive of nested list item 1
list item 2
Descriptive of nested list item 2
<h3>Test case</h3>
<dl>
  <dt>Term 1</dt>
  <dd>Definition text for term 1 </dd>
<dt>Term 2</dt>
  <dd>Definition text for term 2</dd>
<dt>Term 3</dt>
  <dd>Definition text for term 3</dd>
<dt>Multi definition term 4</dt>
  <dd>Definition 1 for term 4</dd>
  <dd>Definition 2 for term 4</dd>
<dt> DL's containing DL's</dt>
  <dd>
  <dl>
    <dt>list item 1</dt>
    <dd>Descriptive of nested list item 1</dd>
    <dt>list item 2</dt>
    <dd>Descriptive of nested list item 2</dd>
  </dl>
  </dd>
</dl>

Actual behavior:

Reading in browse mode gives the following text:

heading    level 3  Test case
list  with 11 items  Term 1
Definition text for term 1 
Term 2
Definition text for term 2
Term 3
Definition text for term 3
Multi definition term 4
Definition 1 for term 4
Definition 2 for term 4
DL's containing DL's
list  with 4 items  list item 1
Descriptive of nested list item 1
list item 2
Descriptive of nested list item 2

The I key then only navigates through the DT elements, which is more confusing.

Expected behavior:

Criticisms / expectations collected from comments from this issue and other closed duplicates. Bear in mind this is up for discussion.

  • dls are read as lists (i.e. "list"), announce instead "Description List" (prior suggestions were "definition list", however see MDN)
  • The item count announced should correspond to the number of dt elements.
  • Navigate the list using I, NVDA should announce "Term" for each dt element.
    • Then it is ok if the I key moves from dt to dt element.
  • When a dt has more than one dd elements associated with it, announce "Term with definitions"
  • The nesting of dls is not announced, parent/child relationships should be expressed.
  • Relationships between key-value pairs is not expressed
  • It also reports the sum of dt and dd elements as the number of items in the list which is misleading.

Name and version of other software in use when reproducing the issue:

Chrome / Edge / Firefox

Metadata

Metadata

Assignees

No one assigned

    Labels

    app/chromeapp/edge/anaheimMS browser, chromium based, replaces Spartan in 2019 by Anaheim. NVDA access via IA2.app/firefoxfeaturep3https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions