Consider
{ method _output(self): VS.vs-constr("thing", [list: VS.vs-str("abc"), VS.vs-str("def")]) end }
Right now constructed values don't have much aria text assigned to them. But there's an issue where vs-constr sends the same container in to helper, which then sets aria text for each vs-str on the container rather than having a separate container element for each string (or, in general, each component in the vs-constr).
The fix is probably to make a container for each sub-element at https://github.com/brownplt/code.pyret.org/blob/horizon/src/web/js/output-ui.js#L1692
CC @sidprasad