我有这段用 JS 动态更新的 HTML。屏幕阅读器仅在更新时读出新值。它没有说明更新的输入的标签。
<ul class="points-transfer-detail-points-calculation clearfix">
<li>
<label for="points-to-transfer">{{{ pointsToTransferLabel }}}</label>
<input id="points-to-transfer" type="text" aria-controls="brand-points points-left-after-transfer" placeholder="XXX,XXX" {{#if disabled }}disabled{{/if}}>
<p id="points-to-transfer-error" class="points-transfer-detail-form-error" aria-hidden="true" role="alert">{{{ pointsToTransferErrorMessage }}}</p>
</li>
<li>
<label for="brand-points">{{{ brandPointsLabel }}}</label>
<input id="brand-points" type="text" aria-live="polite" aria-atomic="true" disabled>
</li>
<li>
<label for="points-left-after-transfer">{{{ pointsLeftLabel }}}</label>
<input id="points-left-after-transfer" type="text" aria-live="polite" aria-atomic="true" disabled>
</li>
</ul>
我尝试使用aria-labelledby
, aria-describedby
,但没有结果,只有输入的值,role="alert"
而aria-label
不是他的标签。
从我对 Google 和 StackOverflow 的所有研究中,我没能找到正确的答案。
我在 Firefox 中使用 NVDA 作为屏幕阅读器。
谢谢您的帮助。