Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Accessibility question: Macro to whisper all the items in a sheet's repeating section?

1677351011

Edited 1677351197
Dave
Pro
I have a player in some of my games who is blind. In the past, I've had to have him play in a purely text-based environment to make rolls, etc., but that requires me to maintain a totally separate environment from Roll20, which is challenging and keeps him from being able to access the same sheets, etc., that everyone on Roll20 has. Given this, I'm trying to write macros to create some accessibility for him, using a designated character sheet to let him hear whispers so he can type a macro and have information from the sheet read off to him. This is easy for set values where I know the "attr_name," but repeating sections are giving me challenges. Is there a way to have a macro whisper a list of the row numbers (as displayed, not as first entered) and, say, a "repeating_section_$X_name" field, such that he could then use a macro to access details about that list item? As in, he could type #skills to list every item in the repeating_section by line number and its name, so that he could then use #skill $X to have it send him the details of that particular item? Also, more broadly, anyone know of any other handy tools to make Roll20 more accessible for a blind player? This has been my best idea for it so far. Here's an example of a basic macro to use a character named "Assistant" to whisper ability scores, if that helps explain what I mean. (This is easy because the ability scores all have a set, specific attr_ value.) /w Assistant Strength [[@{CHARACTERNAME|STR}]] Mod [[@{CHARACTERNAME|STR-mod}]] Dexterity [[@{CHARACTERNAME|DEX}]] Mod [[@{CHARACTERNAME|DEX-mod}]] Constitution [[@{CHARACTERNAME|CON}]] Mod [[@{CHARACTERNAME|CON-mod}]] Intelligence [[@{CHARACTERNAME|INT}]] Mod [[@{CHARACTERNAME|INT-mod}]] Wisdom [[@{CHARACTERNAME|WIS}]] Mod [[@{CHARACTERNAME|WIS-mod}]] Charisma [[@{CHARACTERNAME|CHA}]] Mod [[@{CHARACTERNAME|CHA-mod}]]
1677352169
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
HI Dave! For the repeating report, look at Universal Chat Menus . I'll see if I can call some attention to the blind player question.
1677354319
Gauss
Forum Champion
Which character sheet are you using? 
Thanks, Keith! This is a really interesting script. I'll start playing with it and see what I can come up with. Sadly, Roll20 is very, very accessibility unfriendly. For instance, it doesn't always play well with screen-readers, and the well-meaning autocomplete feature in chat seems like it's going to really be a pain for my blind player, as he can't just type and enter a command, but he has to intuit how many times to hit enter to make it accept the command instead of trying to autocomplete a different macro. I'm having trouble with that, and I can see what it's doing. But, this seems like a good start!
I exclusively use fully custom sheets, so it's one I made (mainly based, originally, off one of the WoD sheets someone posted years ago, but it's changed dramatically since then). Gauss said: Which character sheet are you using? 
1677358608

Edited 1677358735
Dave
Pro
This script is very cool, but I'm not sure it's really designed to do anything like what I'm trying to do with it. Ideally, I could have output like: Academics 1 AnimalKen 2 Arts 0 Or similar, where I can just have it output data to the player. I may be using this script badly, but it does not seem to want to do anything like what I need. (Graphical buttons just aren't useful in this particular case, since the whole point is to help a blind player.) I'd need to be able to list the available options, then run the roll from the command line. Clicking buttons is just not going to be an option.
1677359174

Edited 1677359527
Gauss
Forum Champion
Some thoughts I was considering: Does the player have access to a programmable keyboard? Might have some pre-programmed macros.  You might be able to use queries to complete different macros. Example: Macro1 might be Macro?{number}. Then they type in a number +enter and it changes the macro being used. Same could probably be done for the repeating fields.  This would probably require using a script to delay the processing of the macro or repeating field until after the query substituted things. Those who know more than I do about API scripts would have to figure that out. :)
I think he'll be okay with entering text, though the autocomplete will probably be an obstacle. (It would be really nice to be able to turn that off.) Macro-wise, I just can't figure out how to help him interact with the repeating sections usefully. For the WoD-adjacent sheet, I can probably get away with just creating a specific macro based on every entry on the sheet, but doing that for something like Pathfinder, where I'd have to create a new, specific macro for him to view each feat would be...daunting.
1677359819

Edited 1677360123
Gauss
Forum Champion
Dave said: This script is very cool, but I'm not sure it's really designed to do anything like what I'm trying to do with it. Ideally, I could have output like: Academics 1 AnimalKen 2 Arts 0 Or similar, where I can just have it output data to the player. I may be using this script badly, but it does not seem to want to do anything like what I need. (Graphical buttons just aren't useful in this particular case, since the whole point is to help a blind player.) I'd need to be able to list the available options, then run the roll from the command line. Clicking buttons is just not going to be an option. I was thinking about that....what about creating a "map" for the player where locations on the map trigger outputs?  The player does not need to be on the same page as the rest of the group, so you can move that player to a special page of their own.  On that page are locations, each location triggers a script (similar to how the teleport script is triggered).  The player has a token, to grab that token all they need to do is Ctrl+A (itll be the only token on the token layer). From there they can use arrow keys to move the token around, when it hits a location an output can tell them which location they have reached. Then they can choose to activate that location.  It could be thought of as a keyboard map, but each key is a macro option or output texts for the text to speech program to read.  Note: I am not an API scripter, but I have been around enough to see elements of what I am describing, so it *might* be possible?
That's a really interesting idea! At the least, it's a great idea to put the player on his own map so he can select his token with Ctrl+A (assuming he can easily move between the play map and chat; I have a limited of understanding how audio-only screen navigation works).
1677361771

Edited 1677362011
Gauss
Forum Champion
Dave said: That's a really interesting idea! At the least, it's a great idea to put the player on his own map so he can select his token with Ctrl+A (assuming he can easily move between the play map and chat; I have a limited of understanding how audio-only screen navigation works). If they can activate Advanced Keyboard Shortcuts (My Settings tab, Keyboard Shortcuts) the "c" key will bring them to the chat input pane. "c" key twice is required if the chat tab is not currently selected.  So if they don't know if the chat tab is selected it would be c +c +backspace key to clear any extraneous "c" entries in the chat tab.  Getting back to the map may be as simple as moving their mouse hard left, clicking, then ctrl+A
I'm not sure if he even uses a mouse, but the keyboard shortcut is a great point. I'll definitely let him know about this!
1677366756

Edited 1677367073
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
One way to avoid autofill of other macros is to start all of the player's needed macros with a key combination that is not used by anything else: #QQ-Attack1 #QQ-Attack2 and so forth.
That's a solid idea! I'll probably use all of these. :)