Hi Dante,
I agree with what was said before, the word "collapsed" or "expanded" should
definitely follow the actual item title/label/whatever, not preceed it. This
should be treated like a tree view item in File Explorer or such, where screen
readers usually announce the state after the item label and optional level,
too. Unless users have configured to speak state first, which is possible in
some screen readers.
Also, if this thing was made to actually expose the state of
collapsed/expanded, rather than a hard-coded word, screen readers would also
automatically know what to do with this in Braille. I realize that this would
make the editor much more a rich text environment than it traditionally was,
but that's the world we live in, isn't it?
Marco
Dante Gagne <dmarc-noreply@xxxxxxxxxxxxx> hat am 20.04.2021 01:30 geschrieben:** To leave the list, click on the immediately-following link:-
Hey folks,
Item just came up on my list and I've got an IDEA on how it should be
addressed, but I'd love feedback. Visual Studio provides "outlining" which
allows the user to collapse or expand regions of code for ease of navigation.
For instance consider the following (I'm including line numbers for
understanding)
17 LineBeforeRegion()
18 #region MySample
19 CodeInRegion()
20 #endregion
21 LineAfterRegion()
In Visual Studio, you can use Ctrl+M, Ctrl+M to toggle outlining. If you were
to do that on line 18 here, the sighted user would see:
17 LineBeforeRegion()
18 MySample
21 LineAfterRegion()
However, line 18 would have a visual adorner to show that it's a collapsed
region. It's a single atomic unit, you can't use the cursor keys to navigate
into it or anything like that.
The issue is that the visual adorner on line 18 is not actually part of the
text buffer so it's completely invisible to the screen reader. To a screen
reader user, this code is more like:
17 LineBeforeRegion()
18
21 LineAfterRegion()
Which is probably quite frustrating. (If anyone has run into this, you can
use Ctrl+M, Ctrl+L to toggle ALL outlining, which will expand everything. You
can also use Ctrl+M, Ctrl+P to expand all the regions and disable outlining
altogether).
Now to my question. I want to fix this issue. What would folks want to hear
on line 18? I don't want to just say "MySample" since it would sound like
code and be indistinguishable. I hesitate to say "Begin Collapsed Region
MySample End Collapsed Region" since that feels like overkill. For the
record, it is possible to have a collapsed region in the middle of text, so
if you were to try really hard you could have
18 SomeCode() CollapsedRegion SomeOtherCode()
Where "CollapsedRegion" is a collapsed region, but the SomeCode() and
SomeOtherCode() is legitimate code.
I should also point out that the Region identifiers won't be navigable by
character or anything, so right now, it's effectively a single character. We
are looking into a better fix there, but there are a lot of issues with that
(e.g. what happens if you're inside one of those regions and type a letter.
What would that do?).
I currently don't have a solution better than saying "Collapsed: identifier",
realizing that the string might have code before or after that would be
rather ambiguous. So, that's what I'm going to currently go with. But if
folks have something they think would be more useful, I would love to hear it.
As always, thanks for whatever advice you're willing to give!
--Dante
** To leave the list, click on the immediately-following link:-
** [mailto:program-l-request@xxxxxxxxxxxxx?subject=unsubscribe]
** If this link doesn't work then send a message to:
** program-l-request@xxxxxxxxxxxxx
** and in the Subject line type
** unsubscribe
** For other list commands such as vacation mode, click on the
** immediately-following link:-
** [mailto:program-l-request@xxxxxxxxxxxxx?subject=faq]
** or send a message, to
** program-l-request@xxxxxxxxxxxxx with the Subject:- faq