0

スクリーン リーダー用に、特定のコマンド リンクを追加の「画面外」テキストでレンダリングするためのアクセシビリティ要件があります。したがって、最終的に次のようなレンダリングを行いたいと考えています (明確にするために属性は省略されています)。

<a>Edit Details<span class="hiddenOffScreen"> for John Smith</span></a>

問題は、標準の jsf1.2タグが属性<h:commandLink>を尊重しないことです。escapelinkText が上記の a タグのコンテンツに評価される場所のようなものを試しまし<h:commandLink escape="false" value="#{linkText}"/>たが、これはスパンタグを文字通りレンダリングします (つまり、< と > をエスケープします)。

この要件を満たすにはどうすればよいでしょうか。もちろん、後で JQuery を使用してスパンを簡単に追加できますが、自分の教育のために、カスタムレンダラーを試してみたいと思いますが、「onClick」イベントを追加する既存のデフォルトレンダラーにどのように接続するかわかりませんハンドラーと関連する JavaScript。カスタム commandLink レンダラーを検索するときに、google-foo が失敗したようです。

これは JSF 1.2 であり、非常に古いバージョンの WebSphere Portal Server で実行しているため、サード パーティのタグ ライブラリを使用できないことに注意してください。

4

2 に答える 2

2

<h:commandLink>属性内にテキストを指定する代わりに、他のタグや暗黙のテキストを含むコンテンツをタグ内にネストしvalueて、機能を実現できます。

<h:commandLink ...>
    <h:outputText .../>
    <span class="hidden"></span>
    #{bean.someText}
</h:commandLink>

これにより、必要なものが正確にレンダリングされます。

于 2013-04-30T15:22:02.113 に答える
0

< または > を使用して < > を記述します

于 2013-04-30T15:19:54.437 に答える