(HTML 要素の) lang 属性は、ドキュメントの言語を指定します (ドキュメントのセクションの言語を変更できる別の lang 属性でオーバーライドされない限り)。
Content-Language HTTP ヘッダーは、対象読者の言語を指定します。これは、ドキュメントが実際に書かれている言語とは異なります。たとえば、フランス語コースの一部がフランス語で書かれたページで構成されている可能性がありますが、Content-Language は英語を話す人がフランス語を学習することを目的としているため、enになります。
仕様から:
Content-Language エンティティ ヘッダー フィールドは、同封されたエンティティの対象読者の自然言語を記述します。これは、エンティティ本体内で使用されるすべての言語と同等ではない可能性があることに注意してください。
Meta HTTP-equiv は貧乏人の HTTP ヘッダーです。これには、実際の HTTP ヘッダーのすべての意味がありますが、尊重 (およびサポート) は少なくなります。
経験則として、Content-Language は検索エンジンにとってより重要であり、lang 属性はスクリーン リーダーにとってより重要です。