我们有一个可访问性要求,为屏幕阅读器呈现带有额外“屏幕外”文本的某些命令链接。所以我们希望最终呈现类似的东西(为了清楚起见,省略了属性)
<a>Edit Details<span class="hiddenOffScreen"> for John Smith</span></a>
问题是标准的 jsf1.2<h:commandLink>
标签不尊重该escape
属性。我尝试了类似<h:commandLink escape="false" value="#{linkText}"/>
linkText 计算上面显示的 a 标签的内容的方法,但这会按字面意思呈现 span 标签(即转义 < 和 >)
如何最好地满足这一要求?我当然可以稍后使用 JQuery 轻松添加跨度,但是,为了我自己的教育,我想尝试使用自定义渲染器 - 但不确定如何使用添加“onClick”事件的现有默认渲染器处理程序和相关的 javascript。在搜索自定义 commandLink 渲染器时,我的 google-foo 似乎让我失望了。
请记住,这是 JSF 1.2,我们不能使用任何第三方标记库,因为我们在 WebSphere Portal Server 的非常老的版本上运行。