WebBrowserコントロールに表示されているHTMLコンテンツ内でフォーカスのあるハイパーリンクのリンク先を取得するにはどうしたらよいのでしょうか?
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200211/02110016.txt
ご返答ありがとうございます。
今、私は盲目の人用のブラウザーを作成していて。
キーボードのタブキーでフォーカスを移動させ、フォーカスのあるテキストとリンク先URLを音声にて伝えたいのですが・・・。
検索さんに教えて頂いたアドレスを拝見したのですが、いまいちよくわかりません。
> 今、私は盲目の人用のブラウザーを作成していて。
ならば是非、Microsoft Active Accessibility SDK を読んでおきましょう。
MSHTML でも、IAccessible インターフェイスがサポートされていたと思いますし。
http://www.microsoft.com/japan/msdn/accessibility/msaa/default.asp
http://www.microsoft.com/downloads/details.aspx?FamilyId=9B14F6E1-888A-4F1D-B1A1-DA08EE4077DF&displaylang=en
> 検索さんに教えて頂いたアドレスを拝見したのですが、いまいちよくわかりません。
# あのサンプルの意味がわからないとなると、ちと道が険しいかも……。(汗)
とりあえず、DHTMLについて勉強してみてください。
提示のサンプルは、Aエレメント(anchorオブジェクト)を列挙し、
その内側のテキストをinnerTextプロパティで、リンク先をhrefプロパティで
取得しています。Aエレメントの仕様については、下記を参照してみてください。
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/a.asp
で。
選択されたテキスト範囲については、selectionオブジェクトを使えます。
http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_selection.asp
そこから、textRangeオブジェクトを取得していってください。
フォーカスのある要素に関しては、activeElementプロパティが使えるでしょう。
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/activeelement.asp
フォーカスのある要素の種類を調べて、それがanchorオブジェクトだった場合に、
先のサンプルのようにして、href/innerTextを取得すれば良いかと思います。
魔界の仮面弁士さん的確な回答ありがとうございます。
activeElemenなんですね。
ツイート | ![]() |