私が維持しているサイトに「メガメニュー」スタイルメニューがいくつかあります。これらは基本的にネストされた<UL>
のセットです。完全メニューには約150〜200のエントリがあるため、ページには多くの部分が追加され、スクリーンリーダーは苦労します。Javascriptからメガメニューを更新する方法
メニューのトップレベルのみがページに出力されるようにメニューを変更する予定です。ページの99%が切り捨てられ、JavaScript以外のクライアントでも使用できるようになります。
JavaScriptが利用可能であれば、単純なトップレベルメニューをメガメニュー全体に置き換える予定です。理想的には、完全なメニューはjavascriptファイルに保存されます。これにより、ブラウザにキャッシュさせるという追加の利点が得られます(頻繁に変更されることはありません)。
私の質問は、どのように私はjavascriptファイルに完全なメニューを格納することをお勧めします。現時点では私はちょうど
var menuhtml = '<ul id="megamenu"><li>blar blar...</ul>';
$("#megamenu").html(menuhtml);
// more code here to get the menu to work as needed
これは醜いのようなものだ...のようなものを持っています。明らかな答えは、ajaxリクエストを介してメニューhtmlを取得することですが、これはキャッシュできるようにすることができればうまくいきます。
誰かが清潔な解決策を得るための良い提案があれば教えてください。