
初めて文法チェックのサイトで、トップページのHTMLファイルをチェックしました。
99件ものエラーがあり、ある程度、解決しました。
しかし、グローバルナビゲーションのコードで出たエラーの対処のしかたがわかりません。
エラー → <A>と</A>の間が空です
私の場合、グローバルナビゲーションのタグは次のように記載してます。
<ul id="globalnavi">
<li id="menu1"><a href="http://www.test.com/"></a></li>
<li id="menu2"><a href="http://www.test.com/company.html"></a></li>
<li id="menu2"><a href="http://www.test.com/.itemhtml"></a></li>
<li id="menu2"><a href="http://www.test.com/.question"></a></li>
<li id="menu2"><a href="http://www.test.com/request.html"></a></li>
</ul>
何が問題かというと、確かに<a>と</a>の間は空なのですが、この間に「会社概要」、「商品」、「よくある質問」、「問い合わせ」などを記載すると、CSSで出力している画像と重複してしまい、見栄えに問題が生じるからです。
あまり推奨されることではないですが、私は画像に背景と項目名を表記しているので、<a>と</a>にテキストを入力すると、見栄えの問題が生じてしまうのです。
このような場合の対応方法について、わかるかたがおりましたら、教えて頂けないでしょうか?
No.3ベストアンサー
- 回答日時:
まず、Validatorはチェックすることでよいです。
よく初心者は仕様とデザインは両立できないと考えてる方がいらっしゃいますが、それはまったく逆です。そもそもHTMLのプレゼンテーション能力には限界があるのでHTMLの文書構造を無視したマークアップが行われてきました。それではHTMLの理念・目的と反するために、HTMLは文書構造を記述し、HTMLよりもはるかに能力のあるスタイルシートにプレゼンテーションを任すことになったのです。
⇒14.1 スタイルシートの概説 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
HTMLさえ、きちんと書かれていれば、そうでないHTMLよりも、はるかに簡単に様々なデザインが可能になるのです。
★a内にテキストを書かない一番の問題は、サイトを訪問するのはscreen端末だけではないということです。スタイルシートを読まない携帯電話や点字端末、スクリーンリーダー、テキストブラウザ・・・そして何よりも検索エンジンがそれを利用してクロールできません。
『Lynx などのテキスト ブラウザを使用して、サイトを確認します(ほとんどの検索エンジンのスパイダーには Lynx で見えるようにサイトが映ります)。 ( http://support.google.com/webmasters/bin/answer. … )』
添付図は上記サイトをLynxで表示したものです。
【対策】
★colorをtransparent(透明)にする。
★text-indentを大きくしてoverflowで消す。
★contentプロパティで画像を追加する。
★画像として配置しalt属性で代替文字を記述する。
:hoverで画像をhiddenにしてもよい
など、方法はたくさんあります。
HTML4.01strict、XHTML1.0strict、XHTML1.1で正しいHTMLを作成する。Validatorで必ずチェックする。そのうえで、スタイルシートでプレゼンテーションを指定するという方向でよいですよ。
『HTML文書を作る場合には、この仕様における、他のDTDセットではなく strict DTD に適合する文書を作るよう推奨する。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』
それが実際は一番楽です。(^^)

No.4
- 回答日時:
これ、liタグとaタグの扱いが逆じゃないすか?
普通よくあるパターンだと、aタグを"display:block"にして、widthとheightを持たせ、background-imageで画像を指定する。
そのうえで、正しくテキストノードをセットし、text-indentで-1000emとかの値をセットするなりして、ブロック外にテキストを吹っ飛ばしたり、とにかく不可視状態にします。
要は、テキストだけでもメニューが作成できるようにしておいて、背面に画像を出し、テキストを消すと。
<ul id="menu">
<li><a id="menu1" href="http://www.test.com/">トップページ</a>
<li>...</li>
</ul>
a#menu1 {
display:block;
width:120px;
height:32px;
text-indent:-1000px;
background-image:url('../images/menu1.png')
}
<a>内部へメニュー画像を直貼りするは昔の話。今はSEO的に不利な手法は常識的にとりません。
まあ、メニューに画像を使う時点で、マークアップ厨から見たらSEOもクソもないですが。
No.1
- 回答日時:
どこのサイトでチェックされているか分かりませんが、そのサイトのチェックでエラーをなくすことの意味を考えてください。
そのサイトに解説等ないでしょうか?
CSSでボタンの画像を出している時点で、一部のブラウザ、音声読み上げソフトなどに対応できない状態であることは認識されていますか?
それを良しとするならエラーは無視してください。
(もちろん対応しないブラウザからはアクセスできない可能性があります)
無理矢理するなら・・・
<a></a>
<a> </a><!-- 全角スペース -->
というごまかしも出来るかもしれませんが、そのサイトが対応しているか不明ですし、リンクが踏めないブラウザが残るのは変わりません。
文法チェックのサイトはここです!
http://cetus.sakura.ne.jp/htmllint/htmllint.html
>CSSでボタンの画像を出している時点で、一部のブラウザ、音声読み上げソフトなどに対応できない状態であることは認識されていますか?
一応、認識はしてます。
しかし、今の状態から変えるのが面倒なので、後回しで考えていました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
- HTML・CSS インラインブロックの中のテキストを上下中央に合わせたい 1 2022/12/24 17:46
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
divタグ内のコンテンツが重なっ...
-
ページ内リンク!?のしかた
-
リストに画像入れると
-
CSSのプルダウンメニュー
-
list-style-type部分だけ大きく...
-
css 横並びのナビゲーションバ...
-
ローカルナビゲーションのマー...
-
メニューの横並びで改行されて...
-
floatでカラム落ちを防ぎたい
-
ol要素の番号とリスト項目の離...
-
アコーディオンメニューがかく...
-
リストの左余白の削除方法
-
liタグの中に<p>タグやら<dl>を...
-
「olタグ」内に「hタグ要素」...
-
ulタグやliタグの中でbrタグ...
-
疑似クラス :activeが効きません
-
jQuery-もっと見るボタンをスマ...
-
レスポンシブWebデザインでリン...
-
複数行にまたがる括弧を表示し...
-
初歩的かもしれませんが回り込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html/cssの、navを2段にする...
-
リストマーカーをボックス内に...
-
liタグの中に<p>タグやら<dl>を...
-
ulタグやliタグの中でbrタグ...
-
複数行にまたがる括弧を表示し...
-
html <ul></ul>の並びで一行空...
-
ulとliで囲った文字の一部を変...
-
HTMLで組織図を作成する方法
-
list-style-type部分だけ大きく...
-
htmlの<ol>タグで、数字などを...
-
テーブル内のプルダウンの下に...
-
html <li>の中の文字一部に色を...
-
<ul><li></li></ul>にするメリ...
-
番号付きリスト(<Ol><Li>・・...
-
divタグ内のコンテンツが重なっ...
-
リストの数字のフォントサイズ...
-
レスポンシブWebデザインでリン...
-
背景色を行ごとに変えるには?
-
Dreamweaverで、ul要素の下に写...
-
ページを開いているときのリン...
おすすめ情報