Naming policy request: consistent id attributes throughout the UI
Categories
(Thunderbird :: General, enhancement)
Tracking
(Not tracked)
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…)
Comment 1•4 years ago
|
||
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.
Description
•