私は、既存のアプリケーションのセクション508への準拠に取り組んでいます。Ajaxtoolkitのアクセシビリティの問題
http://achecker.ca/checker/index.phpを使用してセクション508のページをテストすると、「スクリプトにはnoscriptセクションが必要です」というメッセージが表示されます。 Ajaxで生成されたスクリプトの場合
クライアント側でスクリプトを生成した後、Ajaxツールキットにnoscriptタグを追加させる方法。
私は、既存のアプリケーションのセクション508への準拠に取り組んでいます。Ajaxtoolkitのアクセシビリティの問題
http://achecker.ca/checker/index.phpを使用してセクション508のページをテストすると、「スクリプトにはnoscriptセクションが必要です」というメッセージが表示されます。 Ajaxで生成されたスクリプトの場合
クライアント側でスクリプトを生成した後、Ajaxツールキットにnoscriptタグを追加させる方法。
私はイベントの下に追加して、それが魅力のように働いた
無効Application_PostReleaseRequestState(オブジェクト送信者、EventArgsの電子)
{
//add no script tag for 508 compatibility
if(Response.ContentType == "text/html")
{
//add no script tag for 508 compatibility
Response.Filter = new NoScriptTagAppendFilter(Response.Filter);
}
}
公共NoScriptTagAppendFilter(ストリームstream)
{
outputStream = stream;
}
public override void Write(byte[] buffer, int offset, int count)
{
//base.Write(buffer, offset, count);
string data = UTF8Encoding.UTF8.GetString(buffer);
data = Regex.Replace(data, "</script>", "</script><noscript></noscript>");
outputStream.Write(UTF8Encoding.UTF8.GetBytes(data), offset, UTF8Encoding.UTF8.GetByteCount(data));
data = null;
}
これは間違いなくAjax &テストで生成されたスクリプトに対して508の互換性を望む将来の人に役立ちます使用中http://achecker.ca/checker/index.php
noscript
タグは、ユーザーが無効にした場合など、スクリプトの代替を示すために使用されます。だから、あなたが持っている場合:
<script type="text/javascript">
<!--
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
document.write(month + "/" + day + "/" + year)
//-->
</script>
を使用すると、コードブロックの後にまたは完全にページ上<noscript>
権利を持っている場合、チェッカーは見ています。大規模なAJAX搭載アプリの場合、<noscript>
は、<body>
の直前に表示されます。あなたが言う/言いたいことについて、良い判断を下すことを忘れないでください。私は開発者が次のように見ている:
<script type="text/javascript">
<!--
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
document.write(month + "/" + day + "/" + year)
//-->
</script>
<noscript>
<p>Wow, you suck because you disabled javascript.</p>
</noscript>
これ以上成熟してください。
のGlobal.asaxで