0

id過去に、アンカー要素やname属性 ( ID が優先される)を使用してアンカーが指定されている例を見てきました。

ただし、アクセシビリティ/クロスブラウザーのサポートに関して、他の要素よりもアンカー要素を使用する必要がある特定の理由はありますか?

たとえば、次のマークアップを使用してURL http://domain.com/page.htm#faqを作成できます。

<a id="faq"></a>
<h1>Frequently Asked Questions</h1>

これは次のように簡略化できます。

<h1 id="faq">Frequently Asked Questions</h1>

この 2 番目のマークアップを使用しても害はありますか? id開発者がより関連性の高い要素にアタッチするよりも空のアンカーを好む特定の理由はありますか?

4

2 に答える 2

3

アクセシビリティ/クロスブラウザーのサポートに関して、他の要素よりもアンカー要素を使用する必要がある特定の理由はありますか?

いいえ、もうありません。

歴史的に (HTML 4 より前)、名前付きアンカーはページ アンカーを持つ唯一の方法でした。

この 2 番目のマークアップを使用しても害はありますか?

それが推奨される方法です - それがあなたがすべき方法です。

開発者が id をより関連性の高い要素にアタッチするよりも空のアンカーを好む特定の理由はありますか?

変化への学習と適応の欠如のみ ;)

于 2012-11-15T12:00:12.743 に答える
0

コードを書いても大丈夫です。最初のコードを使用するポイントは 2 つあります。

  1. 歴史的な理由。

  2. Razor などの任意の html ドライブの HtmlHelpers。たとえば、次のようなものを使用しても問題ないようです。

    public static MvcHtmlString Anchor<TModel>(this HtmlHelper<TModel> htmlHelper, string anchorId)
    {
        var tag = new TagBuilder("a");
        tag.Attributes.Add("id", anchorId);
        return MvcHtmlString.Create(tag.ToString(TagRenderMode.Normal));
    }
    

私のMVCプロジェクトで。

于 2012-11-15T12:04:34.247 に答える