Почему программа чтения с экрана JAWS повторяет строки при выделении нескольких строк в текстовом редакторе div? - PullRequest
0 голосов
/ 11 ноября 2019

Я занимаюсь разработкой веб-приложения на JavaScript, в котором есть компонент текстового редактора. Один из наших самых активных пользователей слеп и использует программу чтения с экрана JAWS для использования нашего приложения. Он часто выделяет несколько строк текста из текстового редактора, чтобы скопировать и вставить их в другую программу (Word, Outlook и т. Д.), И жалуется, что программа чтения с экрана повторяет текст, когда он выбирает несколько строк. Он нажимает Shift и стрелку вниз, чтобы выбрать строки.

Он ожидает, что программа чтения с экрана будет читать только что выделенный текст каждый раз, когда выделяет новую строку. Например, если строка «Быстрая коричневая лиса перепрыгнула через ленивую собаку» была разбита на две строки после слова «прыгнул», он ожидал, что она прочитает «Быстрая коричневая лиса, прыгнувшая», когда он выберет первую строку изатем только «поверх ленивого пса», когда он снова нажал стрелку вниз, чтобы выбрать вторую строку. Вот как это работает в Microsoft Word и других программах, которые он интенсивно использует.

После некоторых исследований я обнаружил, что JAWS читает все как положено в одном абзаце, но проблема возникает, когда онвыбирает строки с пустым тегом <p> или тегом <p>, внутри которого находится только <br> (что часто встречается в нашем приложении). Например, вот как реально может выглядеть содержимое нашего текстового редактора:

<p>This is a long line of text that will wrap
around after the first occurrence of the word "wrap"</p>
<p><br></p>
<p>And then there might be another long line of text
here that wraps around after the first occurrence of the word "text"</p>

Если он начнет выделять сверху, JAWS будет правильно читать первую строку, а затем вторую строку после того, как онвыделяет вторую строку. Когда он выделит абзац с разрывом в нем, JAWS снова прочитает первые две строки. Когда он выделяет первую строку второго абзаца, JAWS снова прочтет первые две строки, а затем первую строку второго абзаца. Интересно, что если он выделяет последнюю строку, он ведет себя так, как ожидалось, и читает только эту строку.

Может кто-нибудь помочь мне понять, что не так со структурой содержимого моего текстового редактора, которая заставляет программу чтения с экрана повторять строкив этой ситуации? Любое руководство будет оценено.

...