HTML

bilgipedi.com.tr sitesinden
HTML
(HyperText Markup Language)
HTML5 logo and wordmark.svg
En son sürüm olan HTML5'in resmi logosu
Dosya adı uzantısı
  • .html
  • .htm
İnternet medya türü
text/html
Tip koduMETİN
Tek Tip Tip Tanımlayıcı (UTI)public.html
Tarafından geliştirilmiştirWHATWG
İlk sürüm1993; 30 yıl önce
Son sürüm
Format türüBelge dosya formatı
Konteyner içinHTML öğeleri
Tarafından muhafazaWeb tarayıcısı
GenişletilmişSGML
GenişletilmişXHTML
Açık format mı?Evet
Web sitesihtml.spec.whatwg.org

HyperText Markup Language veya HTML, bir web tarayıcısında görüntülenmek üzere tasarlanmış belgeler için standart biçimlendirme dilidir. Basamaklı Stil Sayfaları (CSS) gibi teknolojiler ve JavaScript gibi komut dosyası dilleri ile desteklenebilir.

Web tarayıcıları HTML belgelerini bir web sunucusundan veya yerel depolamadan alır ve belgeleri multimedya web sayfalarına dönüştürür. HTML, bir web sayfasının yapısını anlamsal olarak tanımlar ve başlangıçta belgenin görünümü için ipuçları içerir.

HTML öğeleri, HTML sayfalarının yapı taşlarıdır. With HTML constructs, images and other objects such as interactive forms may be embedded into the rendered page. HTML provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags, written using angle brackets. Tags such as <img /> and <input /> directly introduce content into the page. Other tags such as <p> surround and provide information about document text and may include other tags as sub-elements. Browsers do not display the HTML tags but use them to interpret the content of the page.

HTML can embed programs written in a scripting language such as JavaScript, which affects the behavior and content of web pages. Inclusion of CSS defines the look and layout of content. The World Wide Web Consortium (W3C), former maintainer of the HTML and current maintainer of the CSS standards, has encouraged the use of CSS over explicit presentational HTML since 1997. A form of HTML, known as HTML5, is used to display video and audio, primarily using the <kanvas> öğesi, javascript ile işbirliği içinde.

HTML, bir programlama dili olarak tanımlanamaz. Zira HTML kodlarıyla kendi başına çalışan bir program yazılamaz. Ancak bu dili yorumlayabilen programlar aracılığıyla çalışabilen programlar yazılabilir. Programlama dili denilememesinin nedeni tam olarak budur. Temel gereği yazı, görüntü, video gibi değişik verileri ve bunları içeren sayfaları birbirine basitçe bağlamak, buna ek olarak söz konusu sayfaların web tarayıcısı yazılımları tarafından düzgün olarak görüntülenmesi için gerekli kuralları belirlemektir. HTML kodunu web tarayıcıları okur, yorumlar ve görsel hale dönüştürürler, dolayısıyla aynı HTML kodunun farklı tarayıcılarda farklı sonuç vermesi olasıdır. CSS ve JavaScript ile beraber kullanıldığında HTML vasıtasıyla görsel ve dinamik web siteleri yaratılabilir.

Küçüktür ve büyüktür işaretleri arasına yazılan HTML komutları kullanılarak yazılır (ör: <html>). İşaretlenen metnin başını ve sonunu belirtmek için çoğunlukla çift olarak kullanılırlar (Örnek:

Selam

) ancak işaretlemek yerine metnin bir yerine bir işaret konacaksa tek olarak da kullanılabilirler (Ör: <img>).

Tarihçe

Geliştirme

Photograph of Tim Berners-Lee in April 2009
Tim Berners-Lee Nisan 2009'da

1980 yılında, CERN'de yüklenici olarak çalışan fizikçi Tim Berners-Lee, CERN araştırmacılarının belgeleri kullanması ve paylaşması için bir sistem olan ENQUIRE'ı önerdi ve prototipini oluşturdu. 1989 yılında Berners-Lee, İnternet tabanlı bir hiper metin sistemi öneren bir not yazdı. Berners-Lee HTML'yi belirledi ve 1990'ın sonlarında tarayıcı ve sunucu yazılımını yazdı. O yıl, Berners-Lee ve CERN veri sistemleri mühendisi Robert Cailliau ortak bir finansman talebi üzerinde işbirliği yaptılar, ancak proje CERN tarafından resmi olarak kabul edilmedi. 1990'daki kişisel notlarında "hiper metnin kullanıldığı birçok alandan bazılarını" listeledi ve ilk sıraya bir ansiklopedi koydu.

HTML'nin kamuya açık ilk tanımı, ilk olarak 1991'in sonlarında Tim Berners-Lee tarafından İnternet'te bahsedilen "HTML Etiketleri" adlı bir belgeydi. Bu belgede HTML'nin başlangıçtaki nispeten basit tasarımını oluşturan 18 öğe tanımlanmıştır. Köprü etiketi hariç, bunlar CERN'de kurum içi Standart Genelleştirilmiş İşaretleme Dili (SGML) tabanlı bir dokümantasyon formatı olan SGMLguid'den büyük ölçüde etkilenmiştir. Bu unsurlardan on bir tanesi HTML 4'te hala mevcuttur.

HTML, web tarayıcılarının metin, resim ve diğer materyalleri görsel veya sesli web sayfalarına yorumlamak ve oluşturmak için kullandığı bir işaretleme dilidir. HTML işaretlemesinin her öğesi için varsayılan özellikler tarayıcıda tanımlanır ve bu özellikler web sayfası tasarımcısının ek CSS kullanımıyla değiştirilebilir veya geliştirilebilir. Metin öğelerinin birçoğu 1988 ISO teknik raporu TR 9537 Techniques for using SGML'de bulunur ve bu da 1960'ların başında CTSS (Compatible Time-Sharing System) işletim sistemi için geliştirilen RUNOFF komutu tarafından kullanılanlar gibi ilk metin biçimlendirme dillerinin özelliklerini kapsar: bu biçimlendirme komutları dizgiciler tarafından belgeleri elle biçimlendirmek için kullanılan komutlardan türetilmiştir. Bununla birlikte, SGML'nin genelleştirilmiş biçimlendirme kavramı, yapı ve biçimlendirmenin ayrılmasıyla birlikte, yalnızca baskı efektlerinden ziyade öğelere (özniteliklere sahip iç içe geçmiş açıklamalı aralıklar) dayanmaktadır; HTML, CSS ile aşamalı olarak bu yönde ilerlemiştir.

Berners-Lee HTML'yi SGML'nin bir uygulaması olarak görmüştür. Berners-Lee ve Dan Connolly tarafından hazırlanan ve grameri tanımlamak için bir SGML Belge tipi tanımı içeren "Hypertext Markup Language (HTML)" İnternet Taslağı, bir HTML spesifikasyonu için ilk teklifin 1993 ortalarında yayınlanmasıyla İnternet Mühendisliği Görev Gücü (IETF) tarafından resmi olarak bu şekilde tanımlanmıştır. Taslağın süresi altı ay sonra doldu, ancak IETF'nin standartları başarılı prototiplere dayandırma felsefesini yansıtan NCSA Mosaic tarayıcısının satır içi görüntüleri gömmek için özel etiketini kabul etmesiyle dikkat çekti. Benzer şekilde, Dave Raggett'in 1993 sonlarında hazırladığı rakip İnternet Taslağı "HTML+ (Hypertext Markup Format)", tablolar ve doldurma formları gibi halihazırda uygulanan özelliklerin standartlaştırılmasını öneriyordu.

HTML ve HTML+ taslaklarının 1994 yılı başlarında sona ermesinin ardından IETF bir HTML Çalışma Grubu oluşturdu ve bu grup 1995 yılında, gelecekteki uygulamaların temel alacağı bir standart olarak ele alınması amaçlanan ilk HTML spesifikasyonu olan "HTML 2.0 "ı tamamladı.

IETF'nin himayesi altında daha fazla geliştirme, rekabet eden çıkarlar nedeniyle durduruldu. 1996'dan bu yana HTML spesifikasyonları, ticari yazılım satıcılarının da katkılarıyla World Wide Web Consortium (W3C) tarafından sürdürülmektedir. Ancak, 2000 yılında HTML aynı zamanda uluslararası bir standart haline gelmiştir (ISO/IEC 15445:2000). HTML 4.01 1999'un sonlarında yayınlanmış ve 2001'e kadar başka düzeltmeler de yayınlanmıştır. 2004 yılında Web Hypertext Application Technology Working Group'ta (WHATWG) HTML5'in geliştirilmesine başlanmış, 2008 yılında W3C ile ortak bir çıktı haline gelmiş ve 28 Ekim 2014 tarihinde tamamlanarak standartlaştırılmıştır.

HTML sürümleri zaman çizelgesi

HTML 2

24 Kasım 1995
HTML 2.0 RFC 1866 olarak yayınlandı. Ek RFC'ler yetenekler ekledi:
  • 25 Kasım 1995: RFC 1867 (form tabanlı dosya yükleme)
  • Mayıs 1996: RFC 1942 (tablolar)
  • Ağustos 1996: RFC 1980 (istemci tarafı görüntü eşlemeleri)
  • Ocak 1997: RFC 2070 (uluslararasılaştırma)

HTML 3

14 Ocak 1997
HTML 3.2 bir W3C Önerisi olarak yayımlandı. IETF, HTML Çalışma Grubunu 12 Eylül 1996'da kapattığı için bu sürüm yalnızca W3C tarafından geliştirilen ve standartlaştırılan ilk sürümdü.
Başlangıçta kod adı "Wilbur" olan HTML 3.2, matematik formüllerini tamamen kaldırdı, çeşitli tescilli uzantılar arasındaki çakışmaları uzlaştırdı ve Netscape'in görsel biçimlendirme etiketlerinin çoğunu benimsedi. Netscape'in göz kırpma öğesi ve Microsoft'un kayan yazı öğesi, iki şirket arasındaki karşılıklı anlaşma nedeniyle çıkarıldı. Matematiksel formüller için HTML'dekine benzer bir işaretleme 14 ay sonra MathML'de standartlaştırılana kadar yapılmadı.

HTML 4

18 Aralık 1997
HTML 4.0 bir W3C Önerisi olarak yayınlanmıştır. Üç varyasyon sunmaktadır:
  • Kullanımdan kaldırılmış öğelerin yasaklandığı Strict
  • Geçici, kullanımdan kaldırılan öğelere izin verilen
  • Çoğunlukla yalnızca çerçeveyle ilgili öğelere izin verilen çerçeve kümesi.
Başlangıçta kod adı "Cougar" olan HTML 4.0, tarayıcıya özgü birçok öğe türünü ve niteliğini benimsemiş, ancak aynı zamanda Netscape'in görsel biçimlendirme özelliklerini stil sayfaları lehine kullanımdan kaldırılmış olarak işaretleyerek aşamalı olarak kaldırmaya çalışmıştır. HTML 4, ISO 8879 - SGML ile uyumlu bir SGML uygulamasıdır.
24 Nisan 1998
HTML 4.0, sürüm numarası artırılmadan küçük düzenlemelerle yeniden yayımlandı.
24 Aralık 1999
HTML 4.01 bir W3C Önerisi olarak yayımlanmıştır. HTML 4.0 ile aynı üç varyasyonu sunar ve son düzeltmeleri 12 Mayıs 2001 tarihinde yayınlanmıştır.
Mayıs 2000
ISO/IEC 15445:2000 ("ISO HTML", HTML 4.01 Strict tabanlı) bir ISO/IEC uluslararası standardı olarak yayınlanmıştır. ISO'da bu standart ISO/IEC JTC1/SC34 (ISO/IEC Ortak Teknik Komite 1, Alt Komite 34 - Belge tanımlama ve işleme dilleri) alanına girmektedir.
HTML 4.01'den sonra, paralel, XML tabanlı dil XHTML'nin geliştirilmesi W3C'nin HTML Çalışma Grubunu 2000'lerin başları ve ortaları boyunca meşgul ettiğinden, uzun yıllar HTML'nin yeni bir sürümü olmamıştır.

HTML 5

28 Ekim 2014
HTML5 bir W3C Tavsiye Kararı olarak yayınlandı.
1 Kasım 2016
HTML 5.1 bir W3C Önerisi olarak yayınlandı.
14 Aralık 2017
HTML 5.2 bir W3C Önerisi olarak yayınlandı.

HTML taslak sürüm zaman çizelgesi

Ekim 1991
HTML Etiketleri, 18 HTML etiketini listeleyen gayri resmi bir CERN belgesi, kamuoyunda ilk kez bahsedildi.
Haziran 1992
HTML DTD'nin ilk resmi olmayan taslağı, sonraki yedi revizyonla birlikte (15 Temmuz, 6 Ağustos, 18 Ağustos, 17 Kasım, 19 Kasım, 20 Kasım, 22 Kasım)
Kasım 1992
HTML DTD 1.1 (1.0 yerine 1.1 ile başlayan RCS revizyonlarına dayanan bir sürüm numarasına sahip ilk sürüm), gayri resmi bir taslak
Haziran 1993
Hypertext Markup Language, IETF IIIR Çalışma Grubu tarafından bir İnternet Taslağı (bir standart için kaba bir öneri) olarak yayınlandı. Bir ay sonra ikinci bir sürümle değiştirildi.
Kasım 1993
HTML+, IETF tarafından bir İnternet Taslağı olarak yayınlandı ve Hypertext Markup Language taslağına rakip bir öneriydi. Temmuz 1994'te süresi doldu.
Kasım 1994
IETF tarafından yayınlanan HTML 2.0'ın ilk taslağı (revizyon 00) (revizyon 02'den itibaren "HTML 2.0" olarak adlandırılır), nihayet Kasım 1995'te RFC 1866'nın yayınlanmasına yol açtı.
Nisan 1995 (Mart 1995'te yazılmıştır)
HTML 3.0, IETF'ye bir standart olarak önerildi, ancak öneri beş ay sonra (28 Eylül 1995) başka bir işlem yapılmadan sona erdi. Raggett'in HTML+ önerisinde yer alan tablo desteği, şekiller etrafında metin akışı ve karmaşık matematiksel formüllerin görüntülenmesi gibi pek çok özelliği içeriyordu.
W3C, HTML 3 ve Cascading Style Sheets için bir test yatağı olarak kendi Arena tarayıcısını geliştirmeye başladı, ancak HTML 3.0 çeşitli nedenlerden dolayı başarılı olamadı. Taslağın 150 sayfa ile çok büyük olduğu düşünülüyordu ve tarayıcı geliştirme hızının yanı sıra ilgili tarafların sayısı da IETF'nin kaynaklarını aşmıştı. O dönemde Microsoft ve Netscape de dahil olmak üzere tarayıcı satıcıları, HTML 3'ün taslak özelliklerinin farklı alt kümelerini uygulamayı ve kendi uzantılarını sunmayı seçtiler. (bkz. Tarayıcı savaşları). Bunlar arasında, "akademik mühendislik topluluğunun metin rengi, arka plan dokusu, yazı tipi boyutu ve yazı tipi yüzü gibi şeylerin, tek amaçları bir belgenin nasıl düzenleneceğini belirtmek olduğunda, kesinlikle bir dilin kapsamı dışında olduğuna dair inancının" aksine, belgelerin stilistik yönlerini kontrol eden uzantılar da vardı. Uzun yıllardır W3C Üyesi olan Dave Raggett örneğin şu yorumu yapmıştır: "Bir dereceye kadar, Microsoft Web üzerindeki işini HTML özelliklerini genişleterek kurdu."
Official HTML5 logo
HTML5 Logosu
Ocak 2008
HTML5, W3C tarafından bir Çalışma Taslağı olarak yayınlanmıştır.
Sözdizimi SGML'ye çok benzemekle birlikte, HTML5 bir SGML uygulaması olma girişiminden vazgeçmiş ve alternatif bir XML tabanlı XHTML5 serileştirmesine ek olarak kendi "html" serileştirmesini açıkça tanımlamıştır.
2011 HTML5 - Son Çağrı
14 Şubat 2011'de W3C, HTML Çalışma Grubunun tüzüğünü HTML5 için net kilometre taşlarıyla genişletti. Mayıs 2011'de çalışma grubu HTML5'i "Son Çağrı" aşamasına getirerek W3C içindeki ve dışındaki toplulukları spesifikasyonun teknik sağlamlığını onaylamaya davet etti. W3C, tavsiye için hedef tarih olan 2014'e kadar tüm spesifikasyon için geniş çaplı birlikte çalışabilirlik elde etmek amacıyla kapsamlı bir test paketi geliştirdi. Ocak 2011'de WHATWG "HTML5" yaşam standardının adını "HTML" olarak değiştirdi. W3C yine de HTML5'i yayınlama projesine devam etmektedir.
2012 HTML5 - Aday Tavsiye
Temmuz 2012'de WHATWG ve W3C bir dereceye kadar ayrılma kararı almıştır. W3C, WHATWG tarafından bir "anlık görüntü" olarak kabul edilen tek bir kesin standarda odaklanarak HTML5 spesifikasyon çalışmalarına devam edecektir. WHATWG organizasyonu ise HTML5 ile çalışmalarını "Yaşayan Standart" olarak sürdürecektir. Yaşayan standart kavramı, hiçbir zaman tamamlanmadığı ve her zaman güncellenip geliştirildiği anlamına gelir. Yeni özellikler eklenebilir ancak işlevsellik kaldırılmayacaktır.
Aralık 2012'de W3C HTML5'i Aday Öneri olarak belirlemiştir. W3C Tavsiyesine ilerleme kriteri "iki adet %100 tamamlanmış ve tamamen birlikte çalışabilir uygulama "dır.
2014 HTML5 - Önerilen Tavsiye ve Tavsiye
Eylül 2014'te W3C, HTML5'i Önerilen Tavsiye'ye taşıdı.
On 28 October 2014, HTML5 was released as a stable W3C Recommendation, meaning the specification process is complete.

XHTML versions

XHTML is a separate language that began as a reformulation of HTML 4.01 using XML 1.0. It is no longer being developed as a separate standard.

  • XHTML 1.0 was published as a W3C Recommendation on January 26, 2000, and was later revised and republished on August 1, 2002. It offers the same three variations as HTML 4.0 and 4.01, reformulated in XML, with minor restrictions.
  • XHTML 1.1 was published as a W3C Recommendation on May 31, 2001. It is based on XHTML 1.0 Strict, but includes minor changes, can be customized, and is reformulated using modules in the W3C recommendation "Modularization of XHTML", which was published on April 10, 2001.
  • XHTML 2.0 was a working draft, work on it was abandoned in 2009 in favor of work on HTML5 and XHTML5. XHTML 2.0 was incompatible with XHTML 1.x and, therefore, would be more accurately characterized as an XHTML-inspired new language than an update to XHTML 1.x.
  • An XHTML syntax, known as "XHTML5.1", is being defined alongside HTML5 in the HTML5 draft.

Transition of HTML Publication to WHATWG

On 28 May 2019, the W3C announced that WHATWG would be the sole publisher of the HTML and DOM standards. The W3C and WHATWG had been publishing competing standards since 2012. While the W3C standard was identical to the WHATWG in 2007 the standards have since progressively diverged due to different design decisions. The WHATWG "Living Standard" had been the de facto web standard for some time.

Markup

HTML markup consists of several key components, including those called tags (and their attributes), character-based data types, character references and entity references. HTML tags most commonly come in pairs like <h1> and </h1>, although some represent empty elements and so are unpaired, for example <img>. The first tag in such a pair is the start tag, and the second is the end tag (they are also called opening tags and closing tags).

Another important component is the HTML document type declaration, which triggers standards mode rendering.

The following is an example of the classic "Hello, World!" program:

<!DOCTYPE html>
<html>
  <head>
    <title>This is a title</title>
  </head>
  <body>
    <div>
        <p>Hello world!</p>
    </div>
  </body>
</html>

The text between <html> and </html> describes the web page, and the text between <body> and </body> is the visible page content. The markup text <title>This is a title</title> defines the browser page title shown on browser tabs and window titles, and the tag <div> defines a division of the page used for easy styling. Between <head> and </head>, a <meta> element can be used to define webpage metadata.

The Document Type Declaration <!DOCTYPE html> is for HTML5. If a declaration is not included, various browsers will revert to "quirks mode" for rendering.

Elements

HTML documents imply a structure of nested HTML elements. These are indicated in the document by HTML tags, enclosed in angle brackets thus: <p>.

In the simple, general case, the extent of an element is indicated by a pair of tags: a "start tag" <p> and "end tag" </p>. The text content of the element, if any, is placed between these tags.

Tags may also enclose further tag markup between the start and end, including a mixture of tags and text. This indicates further (nested) elements, as children of the parent element.

The start tag may also include element's attributes within the tag. These indicate other information, such as identifiers for sections within the document, identifiers used to bind style information to the presentation of the document, and for some tags such as the <img> used to embed images, the reference to the image resource in the format like this: <img src="example.com/example.jpg"> <span title="Kaynak: İngilizce Vikipedi, Bölüm &quot;Elements&quot;" class="plainlinks">[https://en.wikipedia.org/wiki/HTML#Elements <span style="color:#dddddd">ⓘ</span>]</span>

Some elements, such as the line break <br>, or <br /> do not permit any embedded content, either text or further tags. These require only a single empty tag (akin to a start tag) and do not use an end tag.

Many tags, particularly the closing end tag for the very commonly used paragraph element <p>, are optional. An HTML browser or other agent can infer the closure for the end of an element from the context and the structural rules defined by the HTML standard. These rules are complex and not widely understood by most HTML coders.

The general form of an HTML element is therefore: <tag attribute1="value1" attribute2="value2">content</tag>. Some HTML elements are defined as empty elements and take the form <tag attribute1="value1" attribute2="value2">. Empty elements may enclose no content, for instance, the <br> tag or the inline <img> tag. The name of an HTML element is the name used in the tags. Note that the end tag's name is preceded by a slash character, /, and that in empty elements the end tag is neither required nor allowed. If attributes are not mentioned, default values are used in each case.

Element examples

Header of the HTML document: <head>...</head>. The title is included in the head, for example:

<head>
  <title>The Title</title>
  <link rel="stylesheet" href="stylebyjimbowales.css" /> <!-- Imports Stylesheets -->
</head> <span title="Kaynak: İngilizce Vikipedi, Bölüm &quot;Element examples&quot;" class="plainlinks">[https://en.wikipedia.org/wiki/HTML#Element_examples <span style="color:#dddddd">ⓘ</span>]</span>
Headings

HTML headings are defined with the <h1> to <h6> tags with H1 being the highest (or most important) level and H6 the least:

<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
<h5>Heading level 5</h5>
<h6>Heading level 6</h6>

The effects are:

Heading Level 1
Heading Level 2
Heading Level 3
Heading Level 4
Heading Level 5
Heading Level 6

Note that CSS can drastically change the rendering.

Paragraphs:

<p>Paragraph 1</p> <p>Paragraph 2</p>

Line breaks:

<br>. The difference between <br> and <p> is that <br> breaks a line without altering the semantic structure of the page, whereas <p> sections the page into paragraphs. The element <br> is an empty element in that, although it may have attributes, it can take no content and it may not have an end tag.

<p>This <br> is a paragraph <br> with <br> line breaks</p>

This is a link in HTML. To create a link the <a> tag is used. The href attribute holds the URL address of the link.

<a href="https://www.wikipedia.org/">A link to Wikipedia!</a>

Inputs:

There are many possible ways a user can give input/s like:

<input type="text" /> <!-- This is for text input -->
<input type="file" /> <!-- This is for uploading files -->
<input type="checkbox" /> <!-- This is for checkboxes -->

Comments:

<!-- This is a comment -->

Comments can help in the understanding of the markup and do not display in the webpage.

There are several types of markup elements used in HTML:

Structural markup indicates the purpose of text
For example, <h2>Golf</h2> establishes "Golf" as a second-level heading. Structural markup does not denote any specific rendering, but most web browsers have default styles for element formatting. Content may be further styled using Cascading Style Sheets (CSS).
Presentational markup indicates the appearance of the text, regardless of its purpose
For example, <b>bold text</b> indicates that visual output devices should render "boldface" in bold text, but gives little indication what devices that are unable to do this (such as aural devices that read the text aloud) should do. In the case of both <b>bold text</b> and <i>italic text</i>, there are other elements that may have equivalent visual renderings but that are more semantic in nature, such as <strong>strong text</strong> and <em>emphasized text</em> respectively. It is easier to see how an aural user agent should interpret the latter two elements. However, they are not equivalent to their presentational counterparts: it would be undesirable for a screen-reader to emphasize the name of a book, for instance, but on a screen such a name would be italicized. Most presentational markup elements have become deprecated under the HTML 4.0 specification in favor of using CSS for styling.
Hypertext markup makes parts of a document into links to other documents
An anchor element creates a hyperlink in the document and its href attribute sets the link's target URL. For example, the HTML markup <a href="https://www.google.com/">Wikipedia</a>, will render the word "Wikipedia" as a hyperlink. To render an image as a hyperlink, an img element is inserted as content into the a element. Like br, img is an empty element with attributes but no content or closing tag. <a href="https://example.org"><img src="image.gif" alt="açıklayıcı metin" width="50" height="50" border="0"></a>.

Nitelikler

Bir öğenin niteliklerinin çoğu isim-değer çiftleridir, = ile ayrılır ve öğenin adından sonra öğenin başlangıç etiketi içinde yazılır. Değer tek veya çift tırnak içine alınabilir, ancak belirli karakterlerden oluşan değerler HTML'de tırnak içine alınmadan bırakılabilir (ancak XHTML'de bırakılmaz). Öznitelik değerlerinin tırnak içine alınmadan bırakılması güvensiz olarak kabul edilir. İsim-değer çifti niteliklerinin aksine, img öğesi için ismap niteliği gibi, yalnızca öğenin başlangıç etiketinde bulunmalarıyla öğeyi etkileyen bazı nitelikler vardır.

Birçok öğede görünebilecek birkaç ortak nitelik vardır :

  • id niteliği, bir öğe için belge genelinde benzersiz bir tanımlayıcı sağlar. Bu, stil sayfalarının sunum özelliklerini değiştirebilmesi ve komut dosyalarının içeriğini veya sunumunu değiştirebilmesi, canlandırabilmesi veya silebilmesi için öğeyi tanımlamak için kullanılır. Sayfanın URL'sine eklendiğinde, genellikle sayfanın bir alt bölümü olan öğe için global olarak benzersiz bir tanımlayıcı sağlar. Örneğin, "Nitelikler" kimliği https://en.wikipedia.org/wiki/HTML#Attributes</nowiki>.
  • Sınıf niteliği, benzer öğeleri sınıflandırmanın bir yolunu sağlar. Bu, anlamsal veya sunum amaçları için kullanılabilir. Örneğin, bir HTML belgesi anlamsal olarak şu tanımlamayı kullanabilir <class="notation"> bu sınıf değerine sahip tüm öğelerin belgenin ana metnine bağlı olduğunu belirtmek için kullanılır. Sunumda, bu tür öğeler bir araya toplanabilir ve HTML kaynağında oluştukları yerde görünmek yerine bir sayfada dipnot olarak sunulabilir. Sınıf nitelikleri mikroformatlarda semantik olarak kullanılır. Birden fazla sınıf değeri belirtilebilir; örneğin <class="notation important"> öğeyi hem gösterim hem de önemli sınıflara yerleştirir.
  • Bir yazar, belirli bir öğeye sunum özellikleri atamak için stil niteliğini kullanabilir. Bir öğeyi stil sayfası içinden seçmek için öğenin id veya class niteliklerini kullanmak daha iyi bir uygulama olarak kabul edilir, ancak bazen bu basit, spesifik veya geçici bir stil için çok zahmetli olabilir.
  • title niteliği, bir öğeye alt metin açıklaması eklemek için kullanılır. Çoğu tarayıcıda bu nitelik bir araç ipucu olarak görüntülenir.
  • lang niteliği, öğenin içeriğinin doğal dilini tanımlar; bu dil, belgenin geri kalanından farklı olabilir. For example, in an English-language document:
    <p>Oh well, <span lang="fr">c'est la vie</span>, as they say in France.</p> <span title="Kaynak: İngilizce Vikipedi, Bölüm &quot;Attributes&quot;" class="plainlinks">[https://en.wikipedia.org/wiki/HTML#Attributes <span style="color:#dddddd">ⓘ</span>]</span>

The abbreviation element, abbr, can be used to demonstrate some of these attributes:

<abbr id="anId" class="jargon" style="color:purple;" title="Hypertext Markup Language">HTML</abbr> <span title="Kaynak: İngilizce Vikipedi, Bölüm &quot;Attributes&quot;" class="plainlinks">[https://en.wikipedia.org/wiki/HTML#Attributes <span style="color:#dddddd">ⓘ</span>]</span>

Bu örnek HTML olarak görüntülenir; çoğu tarayıcıda imleç kısaltmanın üzerine getirildiğinde "Hypertext Markup Language" başlık metni görüntülenmelidir.

Çoğu öğe, örneğin Arapça, Farsça veya İbranice'de sağdan sola metin için "rtl" gibi metin yönünü belirtmek için dille ilgili dir niteliğini alır.

Karakter ve varlık referansları

Sürüm 4.0 itibariyle HTML, 252 karakter varlık referansı kümesi ve 1.114.050 sayısal karakter referansı kümesi tanımlar; bunların her ikisi de tek tek karakterlerin birebir yerine basit biçimlendirme yoluyla yazılmasına olanak tanır. Bir gerçek karakter ve onun işaretleme karşılığı eşdeğer olarak kabul edilir ve aynı şekilde işlenir.

Karakterlerden bu şekilde "kaçabilme" özelliği, < ve & karakterlerinin (aşağıdaki gibi yazıldığında) < ve &sırasıyla) biçimlendirme yerine karakter verisi olarak yorumlanmasını sağlar. Örneğin, < harfi normalde bir etiketin başlangıcını gösterir ve & harfi normalde bir karakter varlığı referansının veya sayısal karakter referansının başlangıcını gösterir; şu şekilde yazılır & veya & veya & 'nin bir öğenin içeriğine veya bir niteliğin değerine dahil edilmesine izin verir. Çift tırnak karakteri ("), bir öznitelik değerini alıntılamak için kullanılmadığında, ayrıca " veya " veya " öznitelik değerinin içinde göründüğünde. Eşdeğer olarak, bir öznitelik değerini alıntılamak için kullanılmadığında tek tırnak karakteri (') de ' veya ' (veya HTML5 veya XHTML belgelerinde ' olarak) öznitelik değerinin içinde göründüğünde. Belge yazarları bu tür karakterlerden kaçma ihtiyacını göz ardı ederse, bazı tarayıcılar çok affedici olabilir ve niyetlerini tahmin etmek için bağlamı kullanmaya çalışabilir. Sonuç yine de geçersiz biçimlendirmedir ve bu da belgeyi diğer tarayıcılar ve örneğin arama ve dizinleme amacıyla belgeyi ayrıştırmaya çalışabilecek diğer kullanıcı aracıları için daha az erişilebilir hale getirir.

Kaçış ayrıca kolayca yazılamayan veya belgenin karakter kodlamasında bulunmayan karakterlerin öğe ve öznitelik içeriğinde temsil edilmesini sağlar. Örneğin, genellikle yalnızca Batı Avrupa ve Güney Amerika klavyelerinde bulunan bir karakter olan aksanlı e (é), herhangi bir HTML belgesinde varlık referansı olarak yazılabilir é veya sayısal referanslar olarak é veya éTüm klavyelerde bulunan ve tüm karakter kodlamalarında desteklenen karakterleri kullanarak. UTF-8 gibi Unicode karakter kodlamaları tüm modern tarayıcılarla uyumludur ve dünyadaki yazı sistemlerinin neredeyse tüm karakterlerine doğrudan erişim sağlar.

Örnek HTML Kaçış Dizileri
İsimlendirilmiş Ondalık Onaltılık Sonuç Açıklama Notlar
& & & & Ampersand
< < < < Daha az
> > > > Daha Büyük
" " " " Çifte Alıntı
&apos; ' ' ' Tek Alıntı
      Kesintisiz Boşluk
© © © © Telif Hakkı
® ® ® ® Tescilli Ticari Marka
Hançer
Çifte hançer İsimler büyük/küçük harfe duyarlıdır
&ddagger; Çifte hançer İsimlerin eşanlamlıları olabilir
Ticari Marka

Veri türleri

HTML, öğe içeriği için kod verileri ve stil sayfası verileri gibi çeşitli veri türleri ve öznitelik değerleri için kimlikler, adlar, URI'ler, sayılar, uzunluk birimleri, diller, ortam tanımlayıcıları, renkler, karakter kodlamaları, tarihler ve saatler vb. dahil olmak üzere çok sayıda tür tanımlar. Bu veri türlerinin tümü karakter verilerinin uzmanlaşmış halleridir.

Belge türü bildirimi

HTML belgelerinin bir Belge Türü Bildirimi (gayri resmi olarak "doctype") ile başlaması gerekir. Tarayıcılarda doctype, özellikle quirks modunun kullanılıp kullanılmayacağı olmak üzere işleme modunun tanımlanmasına yardımcı olur.

Doküman tipinin asıl amacı, HTML belgelerinin Belge Tipi Tanımına (DTD) dayalı SGML araçları tarafından ayrıştırılmasını ve doğrulanmasını sağlamaktı. DOCTYPE'nin atıfta bulunduğu DTD, böyle bir DTD'ye uygun bir belge için izin verilen ve yasaklanan içeriği belirten makine tarafından okunabilir bir gramer içerir. Öte yandan tarayıcılar, HTML'i SGML'nin bir uygulaması olarak uygulamazlar ve sonuç olarak DTD'yi okumazlar.

HTML5 bir DTD tanımlamaz; bu nedenle, HTML5'te doctype bildirimi daha basit ve kısadır:

<!DOCTYPE html> <span title="Kaynak: İngilizce Vikipedi, Bölüm &quot;Document type declaration&quot;" class="plainlinks">[https://en.wikipedia.org/wiki/HTML#Document_type_declaration <span style="color:#dddddd">ⓘ</span>]</span>

Bir HTML 4 doctype örneği

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd"> <span title="Kaynak: İngilizce Vikipedi, Bölüm &quot;Document type declaration&quot;" class="plainlinks">[https://en.wikipedia.org/wiki/HTML#Document_type_declaration <span style="color:#dddddd">ⓘ</span>]</span>

Bu bildirim, HTML 4.01'in "katı" sürümü için DTD'ye başvurur. SGML-based validators read the DTD in order to properly parse the document and to perform validation. In modern browsers, a valid doctype activates standards mode as opposed to quirks mode.

In addition, HTML 4.01 provides Transitional and Frameset DTDs, as explained below. Transitional type is the most inclusive, incorporating current tags as well as older or "deprecated" tags, with the Strict DTD excluding deprecated tags. Frameset has all tags necessary to make frames on a page along with the tags included in transitional type.

Semantic HTML

Semantic HTML is a way of writing HTML that emphasizes the meaning of the encoded information over its presentation (look). HTML has included semantic markup from its inception, but has also included presentational markup, such as <font>, <i> and <center> tags. There are also the semantically neutral span and div tags. Since the late 1990s, when Cascading Style Sheets were beginning to work in most browsers, web authors have been encouraged to avoid the use of presentational HTML markup with a view to the separation of presentation and content.

2001 yılında Semantik Web üzerine yapılan bir tartışmada Tim Berners-Lee ve diğerleri, akıllı yazılım "aracılarının" bir gün web'i otomatik olarak tarayabileceği ve insan kullanıcıların yararı için daha önce ilgisiz, yayınlanmış gerçekleri bulabileceği, filtreleyebileceği ve ilişkilendirebileceği yollara örnekler verdi. Bu tür aracılar şu anda bile yaygın değil, ancak Web 2.0, mashup'lar ve fiyat karşılaştırma web sitelerinin bazı fikirleri yaklaşıyor olabilir. Bu web uygulama melezleri ile Berners-Lee'nin semantik ajanları arasındaki temel fark, mevcut bilgi toplama ve melezleştirmenin genellikle web konumlarını ve püre haline getirmek, karşılaştırmak ve birleştirmek istedikleri belirli verilerin API semantiğini zaten bilen web geliştiricileri tarafından tasarlanması gerçeğinde yatmaktadır.

Ne bulabileceği konusunda önceden bilgi sahibi olmadan web sayfalarını otomatik olarak tarayan ve okuyan önemli bir web aracı türü, web tarayıcısı veya arama motoru örümceğidir. Bu yazılım ajanları, günde milyonlarca web sayfasını okumak ve indekslemek için çeşitli teknikler ve algoritmalar kullandıklarından ve web kullanıcılarına World Wide Web'in kullanışlılığının büyük ölçüde azalacağı arama olanakları sağladıklarından, buldukları web sayfalarının anlamsal netliğine bağımlıdırlar.

Arama motoru örümceklerinin HTML belgelerinde buldukları metin parçalarının önemini değerlendirebilmeleri ve ayrıca mashup ve diğer melezleri oluşturanların yanı sıra geliştirildikçe daha otomatik ajanlar için HTML'de var olan anlamsal yapıların, yayınlanan metnin anlamını ortaya çıkarmak için yaygın ve tekdüze bir şekilde uygulanması gerekir.

Mevcut HTML ve XHTML önerilerinde sunumsal işaretleme etiketleri kullanımdan kaldırılmıştır. HTML'nin önceki sürümlerindeki sunum özelliklerinin çoğuna, daha zayıf erişilebilirliğe, daha yüksek site bakım maliyetine ve daha büyük belge boyutlarına yol açtıkları için artık izin verilmemektedir.

İyi bir semantik HTML aynı zamanda web belgelerinin erişilebilirliğini de geliştirir (ayrıca bkz. Web İçeriği Erişilebilirlik Yönergeleri). Örneğin, bir ekran okuyucu veya sesli tarayıcı bir belgenin yapısını doğru bir şekilde tespit edebildiğinde, doğru bir şekilde işaretlendiğinde tekrarlanan veya alakasız bilgileri okuyarak görme engelli kullanıcının zamanını boşa harcamayacaktır.

Teslimat

HTML belgeleri diğer bilgisayar dosyalarıyla aynı yollarla iletilebilir. Ancak, çoğunlukla ya bir web sunucusundan HTTP ile ya da e-posta ile iletilirler.

HTTP

World Wide Web, öncelikle Hypertext Transfer Protocol (HTTP) kullanılarak web sunucularından web tarayıcılarına iletilen HTML belgelerinden oluşur. Ancak HTTP, HTML'ye ek olarak görüntü, ses ve diğer içerikleri sunmak için de kullanılır. Web tarayıcısının aldığı her belgeyi nasıl işleyeceğini bilmesini sağlamak için, belgeyle birlikte başka bilgiler de iletilir. Bu meta veriler genellikle MIME türünü içerir (örn, text/html veya application/xhtml+xml) ve karakter kodlaması (bkz. HTML'de karakter kodlaması).

Modern tarayıcılarda, HTML belgesiyle birlikte gönderilen MIME türü, belgenin başlangıçta nasıl yorumlanacağını etkileyebilir. XHTML MIME türüyle gönderilen bir belgenin iyi biçimlendirilmiş XML olması beklenir; sözdizimi hataları tarayıcının belgeyi işlemekte başarısız olmasına neden olabilir. HTML MIME türüyle gönderilen aynı belge başarıyla görüntülenebilir, çünkü bazı tarayıcılar HTML konusunda daha hoşgörülüdür.

W3C önerileri, önerinin Ek C'sinde belirtilen yönergeleri izleyen XHTML 1.0 belgelerinin herhangi bir MIME Türü ile etiketlenebileceğini belirtir. XHTML 1.1 ayrıca XHTML 1.1 belgelerinin herhangi bir MIME türüyle etiketlenmesi gerektiğini belirtir.

HTML e-posta

Çoğu grafiksel e-posta istemcisi, düz metinle kullanılamayan biçimlendirme ve anlamsal işaretleme sağlamak için HTML'nin bir alt kümesinin (genellikle iyi tanımlanmamış) kullanılmasına izin verir. Bu, renkli başlıklar, vurgulanmış ve alıntılanmış metin, satır içi görüntüler ve diyagramlar gibi tipografik bilgileri içerebilir. Bu tür istemcilerin çoğu hem HTML e-posta mesajları oluşturmak için bir GUI editörü hem de bunları görüntülemek için bir işleme motoru içerir. E-postada HTML kullanımı, uyumluluk sorunları, kimlik avı saldırılarının gizlenmesine yardımcı olabileceği, kör veya görme engelli kişiler için erişilebilirlik sorunları, spam filtrelerini karıştırabileceği ve mesaj boyutunun düz metinden daha büyük olması nedeniyle bazıları tarafından eleştirilmektedir.

Adlandırma kuralları

HTML içeren dosyalar için en yaygın dosya adı uzantısı şudur .html. Bunun yaygın bir kısaltması şudur .htmDOS ve FAT veri yapısının getirdiği sınırlamalar gibi bazı erken işletim sistemleri ve dosya sistemlerinin dosya uzantılarını üç harfle sınırlaması nedeniyle ortaya çıkmıştır.

HTML Uygulaması

Bir HTML Uygulaması (HTA; dosya uzantısı .hta), uygulamanın grafik arayüzünü sağlamak için bir tarayıcıda HTML ve Dinamik HTML kullanan bir Microsoft Windows uygulamasıdır. Normal bir HTML dosyası web tarayıcısının güvenlik modeliyle sınırlıdır, yalnızca web sunucularıyla iletişim kurar ve yalnızca web sayfası nesnelerini ve site çerezlerini manipüle eder. Bir HTA tamamen güvenilir bir uygulama olarak çalışır ve bu nedenle dosyaların ve Windows Kayıt Defteri girdilerinin oluşturulması/düzenlenmesi/kaldırılması gibi daha fazla ayrıcalığa sahiptir. Tarayıcının güvenlik modelinin dışında çalıştıkları için, HTA'lar HTTP yoluyla çalıştırılamaz, ancak indirilmeli (tıpkı bir EXE dosyası gibi) ve yerel dosya sisteminden çalıştırılmalıdır.

HTML4 varyasyonları

HTML ve ilgili protokolleri, başlangıcından bu yana nispeten hızlı bir şekilde kabul görmüştür. Ancak, dilin ilk yıllarında net bir standart mevcut değildi. Yaratıcıları başlangıçta HTML'yi sunum ayrıntılarından yoksun semantik bir dil olarak tasarlamış olsalar da, pratik kullanımlar, büyük ölçüde çeşitli tarayıcı satıcıları tarafından yönlendirilen birçok sunum öğesini ve niteliğini dile itti. HTML'yi çevreleyen en son standartlar, dilin bazen kaotik gelişiminin üstesinden gelme ve hem anlamlı hem de iyi sunulmuş belgeler oluşturmak için rasyonel bir temel oluşturma çabalarını yansıtmaktadır. HTML'i semantik bir dil olarak rolüne geri döndürmek için W3C, sunum yükünü omuzlamak üzere CSS ve XSL gibi stil dilleri geliştirmiştir. Buna bağlı olarak HTML spesifikasyonu sunum öğelerini yavaş yavaş dizginlemiştir.

Şu anda belirtildiği şekliyle HTML'nin çeşitli varyasyonlarını birbirinden ayıran iki eksen vardır: Bir eksende SGML tabanlı HTML'ye karşı XML tabanlı HTML (XHTML olarak anılır) ve diğer eksende katıya karşı geçişli (gevşek) ve çerçeve kümesi.

SGML tabanlı ve XML tabanlı HTML

En son HTML spesifikasyonlarındaki bir fark, SGML tabanlı spesifikasyon ile XML tabanlı spesifikasyon arasındaki ayrımda yatmaktadır. XML tabanlı spesifikasyon, daha geleneksel tanımdan açıkça ayırmak için genellikle XHTML olarak adlandırılır. However, the root element name continues to be "html" even in the XHTML-specified HTML. The W3C intended XHTML 1.0 to be identical to HTML 4.01 except where limitations of XML over the more complex SGML require workarounds. Because XHTML and HTML are closely related, they are sometimes documented in parallel. In such circumstances, some authors conflate the two names as (X)HTML or X(HTML).

Like HTML 4.01, XHTML 1.0 has three sub-specifications: strict, transitional and frameset.

Aside from the different opening declarations for a document, the differences between an HTML 4.01 and XHTML 1.0 document—in each of the corresponding DTDs—are largely syntactic. The underlying syntax of HTML allows many shortcuts that XHTML does not, such as elements with optional opening or closing tags, and even empty elements which must not have an end tag. By contrast, XHTML requires all elements to have an opening tag and a closing tag. XHTML, however, also introduces a new shortcut: an XHTML tag may be opened and closed within the same tag, by including a slash before the end of the tag like this: <br/>. HTML 4.01 için SGML bildiriminde kullanılmayan bu kısaltmanın kullanılması, bu yeni geleneğe aşina olmayan önceki yazılımların kafasını karıştırabilir. Bunun için bir çözüm, etiketi kapatmadan önce bir boşluk eklemektir: <br />.

HTML ve XHTML arasındaki ince farkları anlamak için, Ek C'ye (aşağıya bakın) uyan geçerli ve iyi biçimlendirilmiş bir XHTML 1.0 belgesinin geçerli bir HTML 4.01 belgesine dönüştürülmesini düşünün. Bu çeviriyi yapmak için aşağıdaki adımlar gereklidir:

  1. Bir öğenin dili XHTML xml:lang özniteliği yerine lang özniteliği ile belirtilmelidir. XHTML, XML'in yerleşik dil tanımlama işlevselliği niteliğini kullanır.
  2. XML ad alanını kaldırın (xmlns=URI). HTML'in ad alanları için hiçbir olanağı yoktur.
  3. Belge türü bildirimini XHTML 1.0'dan HTML 4.01'e değiştirin (daha fazla açıklama için DTD bölümüne bakın).
  4. Varsa, XML bildirimini kaldırın. (Tipik olarak bu şöyledir: <?xml version="1.0" encoding="utf-8"?>).
  5. Belgenin MIME türünün text/html olarak ayarlandığından emin olun. Hem HTML hem de XHTML için bu, sunucu tarafından gönderilen HTTP Content-Type başlığından gelir.
  6. XML boş öğe sözdizimini HTML stili boş öğe olarak değiştirin (<br /> to <br>).

Bunlar, bir belgeyi XHTML 1.0'dan HTML 4.01'e çevirmek için gerekli ana değişikliklerdir. HTML'den XHTML'e çevirmek için ayrıca atlanan açılış veya kapanış etiketlerinin de eklenmesi gerekecektir. İster HTML ister XHTML'de kodlama yapılsın, hangi etiketlerin atlanabileceğini hatırlamak yerine bir HTML belgesine her zaman isteğe bağlı etiketleri dahil etmek en iyisi olabilir.

A well-formed XHTML document adheres to all the syntax requirements of XML. A valid document adheres to the content specification for XHTML, which describes the document structure.

The W3C recommends several conventions to ensure an easy migration between HTML and XHTML (see HTML Compatibility Guidelines). The following steps can be applied to XHTML 1.0 documents only:

  • Include both xml:lang and lang attributes on any elements assigning language.
  • Use the empty-element syntax only for elements specified as empty in HTML.
  • Include an extra space in empty-element tags: for example <br /> instead of <br>.
  • Include explicit close tags for elements that permit content but are left empty (for example, <div></div>, not <div />).
  • Omit the XML declaration.

By carefully following the W3C's compatibility guidelines, a user agent should be able to interpret the document equally as HTML or XHTML. XHTML 1.0 olan ve bu şekilde uyumlu hale getirilen belgeler için, W3C bunların HTML (text/html MIME türüyle) veya XHTML (application/xhtml+xml veya application/xml MIME türüyle) olarak sunulmasına izin verir. XHTML olarak sunulduğunda, tarayıcılar belgenin içeriğini ayrıştırmak için XML özelliklerine sıkı sıkıya bağlı bir XML ayrıştırıcı kullanmalıdır.

Katıya karşı geçişli

HTML 4, dilin üç farklı versiyonunu tanımlamıştır: Strict, Transitional (bir zamanlar Loose olarak adlandırılırdı) ve Frameset. Strict sürümü yeni belgeler için tasarlanmıştır ve en iyi uygulama olarak kabul edilirken, Transitional ve Frameset sürümleri eski HTML spesifikasyonuna uyan veya herhangi bir spesifikasyona uymayan belgelerin HTML 4 sürümüne geçişini kolaylaştırmak için geliştirilmiştir. Transitional ve Frameset sürümleri, Strict sürümünde ihmal edilen sunum işaretlemesine izin verir. Bunun yerine, HTML belgelerinin sunumunu iyileştirmek için basamaklı stil sayfaları teşvik edilir. XHTML 1 yalnızca HTML 4 tarafından tanımlanan dil için bir XML sözdizimi tanımladığından, aynı farklılıklar XHTML 1 için de geçerlidir.

Geçiş sürümü, Sıkı sürümde yer almayan aşağıdaki kelime dağarcığı bölümlerine izin verir:

  • Daha gevşek bir içerik modeli
    • Satır içi öğelere ve düz metne doğrudan şuralarda izin verilir: body, blockquote, form, noscript ve noframes
  • Sunumla ilgili unsurlar
    • altı çizili (u)(Kullanımdan kaldırılmıştır. ziyaretçiyi köprü ile karıştırabilir)
    • üstü çizili (s)
    • center (Kullanımdan kaldırılmıştır. bunun yerine CSS kullanın.)
    • font (Kullanımdan kaldırıldı. bunun yerine CSS kullanın.)
    • basefont (Kullanımdan kaldırıldı. bunun yerine CSS kullanın.)
  • Sunumla ilgili nitelikler
    • body (W3C'ye göre gerekli eleman.) elemanı için background (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.) ve bgcolor (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.) nitelikleri.
    • div, form, paragraf (p) ve başlık (h1...h6) öğelerinde align (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.) niteliği
    • hr öğesindeki align (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.), noshade (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.), size (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.) ve width (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.) nitelikleri
    • align (Kullanımdan kaldırılmıştır. Bunun yerine CSS kullanın.), border, vspace ve hspace nitelikleri img ve object (dikkat: object öğesi yalnızca Internet Explorer'da (başlıca tarayıcılardan) desteklenir) öğelerinde
    • align (Kullanımdan kaldırılmıştır. Bunun yerine CSS kullanın.) gösterge ve başlık öğelerinde öznitelik
    • tablo öğesinde align (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.) ve bgcolor (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.)
    • nowrap (Eski), bgcolor (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.), td ve th öğelerinde genişlik, yükseklik
    • tr öğesi üzerindeki bgcolor (Kullanımdan kaldırılmıştır. Bunun yerine CSS kullanın.) niteliği
    • br öğesi üzerinde clear (Eski) niteliği
    • dl, dir ve menü öğelerinde kompakt öznitelik
    • ol ve ul öğelerindeki type (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.), compact (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.) ve start (Kullanımdan kaldırıldı. Bunun yerine CSS kullanın.) nitelikleri
    • li öğesindeki type ve value nitelikleri
    • pre öğesinde width niteliği
  • Geçiş şartnamesindeki ek unsurlar
    • menü (Kullanımdan kaldırılmıştır. Bunun yerine CSS kullanın.) liste (Sırasız liste önerilse de yerine geçmez)
    • dir (Kullanımdan kaldırılmıştır. Bunun yerine CSS kullanın.) liste (Sırasız liste önerilse de yerine geçecek bir şey yoktur)
    • isindex (Kullanımdan kaldırılmıştır.) (öğe sunucu tarafı desteği gerektirir ve genellikle belgelere sunucu tarafı olarak eklenir, form ve girdi öğeleri bunun yerine kullanılabilir)
    • applet (Kullanımdan kaldırılmıştır. bunun yerine object öğesini kullanın.)
  • Script öğesi üzerindeki language (Eski) özniteliği (type özniteliği ile gereksizdir).
  • Çerçeve ile ilgili varlıklar
    • iframe
    • noframes
    • target (Harita, bağlantı ve form öğelerinde kullanımdan kaldırılmıştır.) a, istemci tarafı görüntü haritası (harita), bağlantı, form ve taban öğelerindeki öznitelik

Frameset sürümü, Transitional sürümündeki her şeyin yanı sıra frameset öğesini (body yerine kullanılır) ve frame öğesini içerir.

Frameset'e karşı transitional

Yukarıdaki geçiş farklılıklarına ek olarak, çerçeve kümesi belirtimleri (ister XHTML 1.0 ister HTML 4.01 olsun), çerçeve öğeleri veya isteğe bağlı olarak bir gövdeye sahip çerçevesiz öğeler içeren, gövde yerine çerçeve kümesinin kullanıldığı farklı bir içerik modeli belirtir.

Spesifikasyon sürümlerinin özeti

Bu listenin de gösterdiği gibi, spesifikasyonun gevşek versiyonları eski destek için muhafaza edilmektedir. Ancak, popüler yanlış anlamaların aksine, XHTML'e geçiş bu eski desteğin kaldırılması anlamına gelmemektedir. Aksine XML'deki X genişletilebilir anlamına gelmektedir ve W3C tüm spesifikasyonu modüler hale getirerek bağımsız uzantılara açmaktadır. XHTML 1.0'dan XHTML 1.1'e geçişteki birincil başarı, tüm spesifikasyonun modülerleştirilmesidir. HTML'nin katı versiyonu XHTML 1.1'de temel XHTML 1.1 spesifikasyonuna bir dizi modüler uzantı aracılığıyla dağıtılmaktadır. Aynı şekilde, gevşek (geçiş) veya çerçeve kümesi özelliklerini arayan biri de benzer genişletilmiş XHTML 1.1 desteği bulacaktır (bunların çoğu eski veya çerçeve modüllerinde yer almaktadır). Modülerleştirme ayrıca ayrı özelliklerin kendi zaman çizelgelerine göre gelişmesine de olanak tanır. Örneğin XHTML 1.1, MathML (XML'e dayalı bir sunum ve anlamsal matematik dili) ve XForms (mevcut HTML formlarının yerini alacak yeni ve oldukça gelişmiş bir web formu teknolojisi) gibi gelişmekte olan XML standartlarına daha hızlı geçişi sağlayacaktır.

Özetle, HTML 4 spesifikasyonu öncelikle tüm çeşitli HTML uygulamalarını SGML tabanlı tek bir açıkça yazılmış spesifikasyonda topladı. XHTML 1.0, bu spesifikasyonu olduğu gibi yeni XML tanımlı spesifikasyona taşıdı. Daha sonra, XHTML 1.1 XML'in genişletilebilir doğasından yararlandı ve tüm spesifikasyonu modülerleştirdi. XHTML 2.0'ın, standartlara dayalı bir yaklaşımla spesifikasyona yeni özellikler eklemenin ilk adımı olması amaçlanmıştır.

WHATWG HTML ve HTML5

WHATWG tarafından geliştirilen HTML Living Standard resmi sürümdür, W3C HTML5 ise artık WHATWG'den ayrı değildir.

WYSIWYG editörleri

There are some WYSIWYG editors (What You See Is What You Get), in which the user lays out everything as it is to appear in the HTML document using a graphical user interface (GUI), often similar to word processors. The editor renders the document rather than show the code, so authors do not require extensive knowledge of HTML.

The WYSIWYG editing model has been criticized, primarily because of the low quality of the generated code; there are voices advocating a change to the WYSIWYM model (What You See Is What You Mean).

WYSIWYG editors remain a controversial topic because of their perceived flaws such as:

  • Relying mainly on layout as opposed to meaning, often using markup that does not convey the intended meaning but simply copies the layout.
  • Often producing extremely verbose and redundant code that fails to make use of the cascading nature of HTML and CSS.
  • Often producing ungrammatical markup, called tag soup or semantically incorrect markup (such as <em> for italics).
  • As a great deal of the information in HTML documents is not in the layout, the model has been criticized for its "what you see is all you get"-nature.

Örnek bir HTML kodu

HTML standartları W3C tarafından belirlenmektedir. HTML, "etiket" (İngilizce: tag) ismi verilen çeşitli öğeler kullanılarak oluşturulur. Aşağıdaki örnek bu etiketler kullanılarak yazılmıştır.

<html>
  <head>
    <title>örnek başlık</title>
  </head>
  <body>
    <p style="font-size:10px"><a href="http://tr.wikipedia.org">Özgür Ansiklopedi</a></p>
  </body>
</html> <span title="Kaynak: Türkçe Vikipedi, Bölüm &quot;Örnek bir HTML kodu&quot;" class="plainlinks">[https://tr.wikipedia.org/wiki/HTML#Örnek_bir_HTML_kodu <span style="color:#dddddd">ⓘ</span>]</span>

Bu kodun ekran çıktısı "Özgür Ansiklopedi 3 Temmuz 2008 tarihinde Wayback Machine sitesinde arşivlendi." yazısı şeklinde olur ve yazı Vikipedi genel sayfasına köprü görevi görür.