« [Accessibility]W3Cのドキュメントの関係図【アクセシビリティ】 | トップページ | [PDF Accessibility]【11】Alternative Text available【アクセシビリティ】 »

[AppleScript]アクセシビリティ・リンクメーカー

こんな風に考えてみた Force4u00221110_221419

 

アクセシビリティのサイト等では『新規ウィンドウ』を開かない事を 求めている事が多いですが 実際には新規ウィンドウで開きたい場面も多いですから (ここは好みの問題もあります) 今回のサンプルスクリプトでは、画像をクリックで 新規ウィンドウを開く事を『選べる』ようにしています。

Force4u00221110_230053  

titleへの文言の書き込みは 企業や団体系でBLOG等を付けている場合は考慮したい項目だと思います。 titleをsafariで取得する事で タグにする労力が少しだけ楽になります。

タイトルの記述はこちらのページ 【10 Simple Web Accessibility Tips You Can Do Today[LINK]新しいウィンドで開きますを参考にして


NG
<a href="/company" title="現在のウィンドウで 会社情報 を開きます">会社案内</a>
<a href="/product" title="現在のウィンドウで 製品情報 を開きます">製品情報</a>
<a href="/contact" title="現在のウィンドウで コンタクト を開きます">コンタクト</a>
↓を
OK
<a href="/company" title="会社情報 を現在のウィンドウで開きます">会社案内</a>
<a href="/product" title="製品情報 を現在のウィンドウで開きます">製品情報</a>
<a href="/contact" title="コンタクト を現在のウィンドウで開きます">コンタクト</a>
のように整形しています。

リンク点数の多い場合は 『を現在のウィンドウで開きます』は不要かもしれません。 新規にウィンドウを開くリンクにだけ 『新規にウィンドウを開きます』と入ると良いかもしれません。

 

サイト外警告画面は本当に必要なのか? ちょっと疑問でもありますが 官庁なり企業なりのページから 外部サイトへのリンクに対しては 有った方が良いのかもしれません。

 

サイト内リンクの場合は 例 詳しくはこちら[LINK]アイコン:新しいウィンドで開きますの記事を

タグはこんな感じ <a href="https://force4u.cocolog-nifty.com/skywalker/accessibility/index.html"  title="[FORCE]: Accessibilityを現在のウィンドで開きます">[LINK]</a><a href="https://force4u.cocolog-nifty.com/skywalker/accessibility/index.html" target="blank" title="[FORCE]: Accessibilityを新しいウィンドで開きます"><img src="http://force4uip.appspot.com/images/10x10nw.png" alt="アイコン:新しいウィンドで開きます" width="10" height="10" /></a>

 

サイト外の場合は 例 のだめカンタービレのWikiの記事 のだめカンタービレ - Wikipediaアイコン:新しいウィンドで開きます

タグはこんな感じ

<a href="https://force4u.cocolog-nifty.com/redirect/redirect.html?http://ja.wikipedia.org/wiki/%E3%81%AE%E3%81%A0%E3%82%81%E3%82%AB%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%93%E3%83%AC"  title="のだめカンタービレ - Wikipediaを現在のウィンドで開きます">のだめカンタービレ - Wikipedia</a><a href="http://clubsmoky.appspot.com/redirect/redirect.html?http://ja.wikipedia.org/wiki/%E3%81%AE%E3%81%A0%E3%82%81%E3%82%AB%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%93%E3%83%AC" target="blank" title="のだめカンタービレ - Wikipediaを新しいウィンドで開きます"><img src="http://force4uip.appspot.com/images/10x10nw.png" alt="アイコン:新しいウィンドで開きます" width="10" height="10" /></a>

に作ります。

 

----ここからユーザー設定
set OriginalURL to "" as Unicode text

--クラス指定等無い場合は空欄のまま
set LinkClass to "" as Unicode text
set relTagd to "" as Unicode text

--CSSクラス指定等有る場合はこちらの記述
--set LinClass to " calss=\"TextLink\"" as Unicode text
--set relTagd to " rel=\"nofollow\"" as Unicode text


---リンクテキストを固定の場合はこちらの記述
set LinkMes to "[LINK]" as Unicode text
---リンク先のドキュメントのタイトルをリンクテキストにする場合はこちら
---set LinkMes to "" as Unicode text


set LINK_TEXT_A to "を現在のウィンドで開きます" as Unicode text
set LINK_TEXT_B to "を新しいウィンドで開きます" as Unicode text



----外部のサイト用にリダイレクト用警告を出すURL
set ReDirectURL to "https://force4u.cocolog-nifty.com/redirect/redirect.html?" as Unicode text

set YourSiteDomein to "http://force4u.cocolog-nifty.com" as Unicode text


tell application "Finder"
activate
---ダイアログを出して
display dialog "リンクを作りたいURLをペーストしてください" default answer the OriginalURL buttons {"リンクを作成する", " 終了 "} with icon 1 with title "URLをペーストしてください" default button 1

if button returned of the result is "リンクを作成する" then
copy the result as list to {the OriginalURL, BottPressNo}

set ReplaceText to the OriginalURL as Unicode text
----URLエンコード
set encodeURLText to my encodeURL(ReplaceText) as Unicode text

else if button returned of the result is "終了" then

end if
end tell

---よく使われる文字だけURLエンコードから戻す
set encodeURLText to replace(the encodeURLText, "%2F", "/") as text
set encodeURLText to replace(the encodeURLText, "%3A", ":") as text
set encodeURLText to replace(the encodeURLText, "%3F", "?") as text
set encodeURLText to replace(the encodeURLText, "%3D", "=") as text
set encodeURLText to replace(the encodeURLText, "%26", "&") as text

---リンク先のドキュメントのタイトルを取得する
tell application "Safari"
launch
activate
make new document
delay 1
tell window 1
open location encodeURLText
end tell
delay 3
set theTitle to (name of document 1) as Unicode text
end tell
tell application "Safari"
close window 1
end tell
set UrlTitle to theTitle as Unicode text

tell application "Finder"

------サイト内リンクの場合とサイト外リンクの分岐

if encodeURLText begins with YourSiteDomein then
set URLText to encodeURLText as Unicode text
set LinkTitle to LinkMes as Unicode text
else
set URLText to ReDirectURL & encodeURLText as Unicode text
set LinkTitle to UrlTitle as Unicode text
end if

set LINK_TAG_A to "<a href=\"" & URLText & "\" " & LinkClass & relTagd & " title=\"" & UrlTitle & LINK_TEXT_A & "\">" as Unicode text
set LINK_TAG_B to "<a href=\"" & URLText & "\" target=\"blank\"" & LinkClass & relTagd & " title=\"" & UrlTitle & LINKTEXT_B & "\">" as Unicode text
set LINK_IMAGES to "<img src=\"http://force4uip.appspot.com/images/10x10_nw.png\" alt=\"アイコン:新しいウィンドで開きます\" width=\"10\" height=\"10\" /></a>" as Unicode text

set AccessibilityLink to LINK_TAG_A & LinkTitle & "</a>" & LINK_TAG_B & LINK_IMAGES


activate
----ダイアログに表示
display dialog "リンク用のタグが出来ました\nコピーして使って下さい。" default answer the AccessibilityLink with icon 1 with title "URLをコピーしてください" default button 1


end tell







-----URLエンコードのサブルーチン
on encodeURL(str)
set scpt to "php -r 'echo urlencode(\"" & str & "\");'"
return do shell script scpt
end encodeURL

-----文字の置換えサブルーチン(「Web Scripter's Meeting」より参照)
on replace(src, tg, rp)
set oldDel to AppleScript's text item delimiters
set AppleScript's text item delimiters to tg
set myList to text items of src
set AppleScript's text item delimiters to rp
set myText to myList as string
set AppleScript's text item delimiters to oldDel
return myText
end replace

 

「AccessibilityLinkMaker.scpt.rtf」をダウンロード

「AccessibilityLinkMaker.scpt.zip」をダウンロード

|

« [Accessibility]W3Cのドキュメントの関係図【アクセシビリティ】 | トップページ | [PDF Accessibility]【11】Alternative Text available【アクセシビリティ】 »

Accessibility」カテゴリの記事

コメント

この記事へのコメントは終了しました。