Closed Bug 1721663 Opened 4 years ago Closed 4 years ago

Naming policy request: consistent id attributes throughout the UI

Categories

(Thunderbird :: General, enhancement)

enhancement

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: valentin, Unassigned)

Details

Although this isn’t user-exposed, interface elements ought to be
consistently referenced with id attributes. Right now we have (AFAICT):

  • all-lowercase identifiers: e.g. accounttree, themevariant
  • camelCase identifiers: e.g., automaticallyMarkAsRead, msgSubject, folderTree
  • lowercase identifiers with underscores: e.g. menu_accountmgr, menu_preferences
  • a mix of both: e.g. menu_FileQuitItem, bundle_addressBook
  • TitleCase identifiers: e.g., MisspelledWord, MsgHeadersToolbar
  • lowercase identifiers with dashes: e.g. category-general, content-frame, messagestyle-themename, button-getmsg
  • camelCase identifiers with dashes: e.g. resultSelect-imap

And much worse, many elements without an id at all, including for
important focusable and interactable widgets:

  • some have been turned by Proton into HTML ids, e.g. messengerWindow
  • some are simply missing: e.g. the “Filter these messages” qfb entry field.

Whilst (again) not perceptible by the user, this is harmful to people who
rely on these identifiers for customization or accessibility purposes -- since
ids are exposed through at-spi. (In my own selfish case, I’m running
custom-made accessibility regtests on TB trunk, and having to rely on
an UI item’s label or name rather than on a fixed, consistently-named
id attribute is inconvenient and tends to distract from actual regressions…)

Thanks for the suggestion. Of course ID naming should ideally be consistent. But it's grown over many years and it's not worth changing them now.

Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.