私はあなたの議論を次々と検討し、それらのエラーを示すようにしようとしています。
コンテンツをレイアウトから分離するのは良いことですが、これは誤った議論です。クリシェ思考。
HTMLは意図的に設計されているので、それはまったく誤りではありません。要素の誤用は完全に問題外にはならないかもしれませんが(結局のところ、新しいイディオムが他の言語でも開発されています)、考えられるマイナスの影響を相殺する必要があります。さらに、<table>
今日の要素の誤用に対する議論がなかったとしても、ブラウザーベンダーが要素に特別な扱いをする方法が原因で、明日になる可能性があります。結局のところ、彼らは「<table>
要素は表形式のデータのみ」であることを知っており、この事実を使用してレンダリングエンジンを改善し、その過程で<table>
sの動作を微妙に変更し、以前は誤用されていたケースを壊します。
だから何?上司は気にしますか?ユーザーは気にしますか?
依存します。あなたの上司は先のとがった髪ですか?その後、彼は気にしないかもしれません。彼女が有能であれば、ユーザーがそうするので、彼女は気にかけるでしょう。
おそらく、私またはWebページのケアを維持する必要のある他の開発者...テーブルの保守性は低下しますか?テーブルを使用する方が、divやcssを使用するよりも簡単だと思います。
プロのWeb開発者の大多数があなたに反対しているようです[ 引用必要 ]。そのテーブルは実際には保守性が低いことは明らかです。レイアウトにテーブルを使用すると、企業のレイアウトを変更すると、実際にはすべてのページが変更されます。これは非常に高価になる可能性があります。一方、CSSと組み合わせて意味的に意味のあるHTMLを慎重に使用すると、CSSと使用する画像にそのような変更が制限される可能性があります。
ちなみに、なぜdivまたはspanを使用してコンテンツをレイアウトから分離し、テーブルを使用しないのですか?多くの場合、divのみで適切なレイアウトを取得するには、多くのネストされたdivが必要です。
深くネストされた<div>
は、テーブルレイアウトと同様にアンチパターンです。優れたWebデザイナーはそれらの多くを必要としません。一方、このように深くネストされたdivであっても、テーブルレイアウトの問題の多くはありません。実際、コンテンツを部分的に論理的に分割することで、意味構造にも貢献できます。
コードの読みやすさそれは逆だと思います。ほとんどの人はhtmlを理解し、cssはほとんど理解しません。それはもっと簡単です。
「ほとんどの人」は関係ありません。専門家は重要です。専門家にとって、テーブルレイアウトはHTML + CSSよりも多くの問題を引き起こします。これは、GVimやEmacsを使うべきではないと言っているようなものです。あるいは、ほとんどの人にとってMS Wordの方が簡単なので、LaTeXを使うべきではありません。
SEOはテーブルを使用しない方が良い
これが本当で引数として使用しないかどうかはわかりませんが、それは論理的です。検索エンジンは関連データを検索します。表形式のデータはもちろん関連性がありますが、ユーザーが検索することはほとんどありません。ユーザーは、ページタイトルまたは同様に目立つ位置で使用されている用語を検索します。したがって、表形式のコンテンツをフィルタリングから除外し、処理時間(およびコスト!)を大幅に削減することは論理的です。
テーブルが遅くなります。追加のtbody要素を挿入する必要があります。これは、最新のWebブラウザー用のピーナッツです。
追加の要素は、テーブルの速度が遅いこととは関係ありません。一方、テーブルのレイアウトアルゴリズムははるかに難しく、ブラウザは多くの場合、コンテンツのレイアウトを開始する前にテーブル全体がロードされるのを待たなければなりません。さらに、レイアウトのキャッシュは機能しません(CSSは簡単にキャッシュできます)。これはすべて以前に言及されています。
テーブルを使用するとページの速度が大幅に低下するベンチマークをいくつか示してください。
残念ながら、ベンチマークデータはありません。この議論に特定の科学的厳密さが欠けているのは正しいので、私自身もそれに興味があります。
アップグレードが必要なほとんどのWebサイトには、新しいコンテンツ(html)も必要です。Webサイトの新しいバージョンが新しいCSSファイルのみを必要とするシナリオは、あまりありません。
どういたしまして。コンテンツとデザインを分離することでデザインの変更が簡単になるいくつかのケースに取り組みました。多くの場合、一部のHTMLコードを変更する必要がありますが、変更は常にはるかに限定されます。さらに、設計の変更は動的に行う必要がある場合があります。WordPressブログシステムで使用されているようなテンプレートエンジンを検討してください。テーブルレイアウトは文字通りこのシステムを殺します。私は商用ソフトウェアの同様のケースに取り組んできました。HTMLコードを変更せずにデザインを変更できることは、ビジネス要件の1つでした。
別物。テーブルレイアウトにより、Webサイトの自動解析(画面スクレイピング)がはるかに困難になります。結局のところ、誰がそれをしているのかというと、これは簡単に聞こえるかもしれません。びっくりしました。問題のサービスがデータにアクセスするための代替WebServiceを提供していない場合、画面のスクレイピングは大きな助けになります。私はこれが悲しい現実であるバイオインフォマティクスで働いています。最新のWeb技術とWebサービスはほとんどの開発者に届いていないため、データを取得するプロセスを自動化する唯一の方法はスクリーンスクレイピングです。多くの生物学者がまだそのような作業を手動で行っているのも不思議ではありません。何千ものデータセット用。