Open Bug 2007033 Opened 1 month ago Updated 11 days ago

Remove unused line-number object attribute

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

People

(Reporter: Jamie, Unassigned)

References

(Blocks 2 open bugs)

Details

For LocalAccessible, we expose a line-number attribute with the caret line number. We never implemented this for RemoteAccessible. We should either:

  1. Implement it for RemoteAccessible.
  2. Remove the attribute altogether.
    • Neither NVDA nor Orca seem to use it. I'm not sure about JAWS or other clients. That said, no one has complained since we shipped Cache the World over 2 years ago, so maybe no one needs this on Windows or Linux. Chromium doesn't implement it either.
    • Chromium does implement AXInsertionPointLineNumber though, so we still need our implementation of that.
    • If we do remove this, we'll need to figure out how to test CaretLineNumber in browser tests, since that currently relies on the object attribute. The simplest option would be to add a method to XPCOM nsIAccessibleText.

Eitan, do you have an opinion here? Unshipping things always seems scary, but as noted in comment 0, no one seems to care. Especially given that Attributes is already expensive, it seems ideal to make it slightly less expensive by avoiding something no one apparently uses.

Flags: needinfo?(eitan)

Oh interesting. Running strings on some relevant JAWS binaries (specifically FSDomNodeIAText.dll), I do see "line-number". So apparently they do use it for something, though I don't know whether they care, since Chromium doesn't implement it.

Are you sure that the presence of "line-number" in that binary means they are looking at that attribute? I would remove this in either case since it has been years at this point where we didn't actually support this.

Flags: needinfo?(eitan)

(In reply to Eitan Isaacson [:eeejay] from comment #3)

Are you sure that the presence of "line-number" in that binary means they are looking at that attribute?

I can't be certain, but IMO, it is very likely. That dll is entirely about IAccessibleText, so unless they use the string "line-number" internally for some reason related to their IA2 implementation (and I can't see why they would), it is very likely the object attribute.

Interestingly, NVDA does have an option to report line numbers, but it doesn't work in Firefox (even for LocalAccessible) because it's not implemented for IA2. It does work in Microsoft Word, for example.

I was slightly concerned that removing this would regress things for Thunderbird and JAWS, since we do expose line-number there because Thunderbird's composer is in the parent process (LocalAccessible). However, I couldn't find any setting nor command to report line numbers in JAWS.

Blocks: cleana11y
Summary: Expose line-number object attribute from RemoteAccessible (or remove it altogether) → Remove unused line-number object attribute
You need to log in before you can comment on or make changes to this bug.