Div and span
ایچ ٹی ایم ایل میں، ڈیو اور اسپین ٹیگز ایسے عناصر ہیں جو دستاویز کے حصوں کی وضاحت کے لیے استعمال ہوتے ہیں، تاکہ جب ایک منفرد درجہ بندی ضروری ہو تو ان کی شناخت کی جا سکے۔ جہاں دیگر ایچ ٹی ایم ایل عناصر جیسے پی (پیراگراف)، ایم (زور)، اور اسی طرح، مواد کے الفاظ کی درست نمائندگی کرتے ہیں، اسپان اور ڈیو ٹیگز کا اضافی استعمال قارئین کے لیے بہتر رسائی اور مصنفین کے لیے آسان دیکھ بھال کا باعث بنتا ہے۔ جہاں کوئی موجودہ ایچ ٹی ایم ایل عنصر قابل اطلاق نہیں ہے، اسپان اور ڈیو قابل قدر طور پر کسی دستاویز کے حصوں کی نمائندگی کر سکتے ہیں تاکہ ایچ ٹی ایم ایل صفات جیسے کلاس، آئی ڈی، لینگ، یا ڈائر کا اطلاق کیا جا سکے۔ اسپین کسی دستاویز کے ان لائن حصے کی نمائندگی کرتا ہے، مثال کے طور پر جملے کے اندر الفاظ۔ ڈیو کسی دستاویز کے بلاک سطح کے حصے کی نمائندگی کرتا ہے جیسے کہ چند پیراگراف، یا اس کے عنوان کے ساتھ ایک تصویر۔ ڈیو کا مطلب تقسیم ہے۔ عناصر معنی خیز صفات کی اجازت دیتے ہیں (مثال کے طور پر۔ لینگ = "این-یو ایس")، سی ایس ایس اسٹائلنگ (مثال کے طور پر، رنگ اور ٹائپگرافی)، یا کلائنٹ سائیڈ اسکرپٹنگ (مثال کے طور پر، حرکت پذیری، چھپانا، اور اضافہ) کا اطلاق کیا جائے گا۔ ڈیو دستاویز کی 'تقسیم' کی وضاحت کرتا ہے، ایک بلاک سطح کی آئٹم جو ان لائن مواد کے دورانیے کے مقابلے میں اس کے اوپر اور نیچے کے عناصر سے زیادہ الگ ہے۔ مثال کے طور پر، پیراگراف ریڈ کے اندر متن کے کسی خاص حصے کو بنانے کے لیے، اسپان کو مندرجہ ذیل طریقے سے استعمال کیا جا سکتا ہے: ہسٹری اسپان عنصر کو 1995 میں انٹرنیشنلائزیشن ورکنگ گروپ کے دوسرے مسودے ایچ ٹی ایم ایل-آئی 18 این میں ایچ ٹی ایم ایل میں متعارف کرایا گیا تھا۔ تاہم، یہ ایچ ٹی ایم ایل 4.51 تک نہیں تھا کہ یہ ایچ ٹی ایم ایل زبان کا حصہ بن گیا، جو 1997 میں ایچ ٹی ایم ایل 4 ڈبلیو 3 سی ورکنگ ڈرافٹ میں ظاہر ہوا۔ 1995 میں، متن کے کسی بھی ان لائن دورانیے کو نشان زد کرنے کے لیے اسپین متعارف کرایا گیا تھا، کیونکہ 'ایسے معاملات میں جہاں کوئی دوسرا عنصر مناسب نہیں ہے، لینگ اور بیڈی صفات کو لے جانے کے لیے ایک عام کنٹینر کی ضرورت ہوتی ہے۔' یہ اب بھی اس عمومی مقصد کو پورا کرتا ہے، حالانکہ اس کے بعد سے الفاظ کے عناصر کی ایک بہت زیادہ امیر رینج کی وضاحت کی گئی ہے، اور بہت سی ایسی صفات بھی ہیں جن کا اطلاق کرنے کی ضرورت پڑ سکتی ہے۔ فرق اور ڈیفالٹ رویے ڈیو اور اسپین کے درمیان متعدد فرق ہیں۔ سب سے قابل ذکر فرق یہ ہے کہ عناصر کو کس طرح ظاہر کیا جاتا ہے۔ معیاری ایچ ٹی ایم ایل میں، ایک ڈیو ایک بلاک سطح کا عنصر ہے جبکہ ایک اسپین ایک ان لائن عنصر ہے۔ ڈیو بلاک صفحہ پر موجود دستاویز کے ایک حصے کو بصری طور پر الگ کرتا ہے، اور اس میں بلاک سطح کے دیگر اجزاء شامل ہو سکتے ہیں۔ اسپان عنصر میں ارد گرد کے مواد کے ساتھ ان لائن معلومات کا ایک ٹکڑا ہوتا ہے، اور اس میں صرف دیگر ان لائن سطح کے اجزاء شامل ہو سکتے ہیں۔ عملی طور پر، عناصر کے ڈیفالٹ ڈسپلے کو کیسکیڈنگ اسٹائل شیٹس (سی ایس ایس) کے استعمال سے تبدیل کیا جا سکتا ہے، حالانکہ ہر عنصر کے اجازت شدہ مواد کو تبدیل نہیں کیا جا سکتا ہے۔ مثال کے طور پر، سی ایس ایس سے قطع نظر، ایک اسپان عنصر میں بلاک سطح کے بچے نہیں ہو سکتے ہیں۔ عملی استعمال کا دورانیہ اور ڈیو عناصر خالصتا بند عناصر کی منطقی گروہ بندی کو ظاہر کرنے کے لیے استعمال ہوتے ہیں۔ کلاس یا آئی ڈی صفات کے ساتھ اسپان اور ڈیو ٹیگز استعمال کرنے کی تین اہم وجوہات ہیں: سی ایس ایس کے ساتھ اسٹائل کرنا مواد کے کچھ حصوں پر ترتیب، ٹائپگرافک، رنگ، اور دیگر پریزنٹیشن صفات کو لاگو کرنے کے لیے سی ایس ایس کے ساتھ مل کر کلاس یا آئی ڈی صفات کو لے جانا عناصر کے لیے عام ہے۔ سی ایس ایس کا اطلاق صرف بصری اسٹائل پر نہیں ہوتا: جب وائس براؤزر کے ذریعے بلند آواز میں بات کی جاتی ہے، تو سی ایس ایس اسٹائل تقریر کی شرح، تناؤ، دولت اور یہاں تک کہ سٹیریوفونک امیج کے اندر پوزیشن کو بھی متاثر کر سکتا ہے۔ ان وجوہات کی بناء پر، اور زیادہ بامعنی ویب کی حمایت میں، ایچ ٹی ایم ایل کے اندر عناصر سے منسلک صفات کو ان کے بامعنی مقصد کو بیان کرنا چاہیے، بجائے اس کے کہ صرف ایک خاص میڈیم میں ان کی مطلوبہ ڈسپلے خصوصیات کو بیان کیا جائے۔ مثال کے طور پر، ایچ ٹی ایم ایل لفظی طور پر کمزور ہے، جبکہ زور دینے کے لیے ای ایم عنصر کا استعمال کرتا ہے (ترچھے حروف میں متن کے طور پر ظاہر ہوتا ہے)، اور ایک زیادہ مناسب کلاس کا نام متعارف کراتا ہے۔ سی ایس ایس کے صحیح استعمال سے، اس طرح کے 'انتباہات' کو اسکرین پر سرخ، بولڈ فونٹ میں پیش کیا جا سکتا ہے، لیکن جب پرنٹ آؤٹ ہوتا ہے تو انہیں خارج کیا جا سکتا ہے، کیونکہ تب تک ان کے بارے میں کچھ کرنے میں بہت دیر ہو چکی ہوتی ہے۔ شاید جب بات کی جائے تو انہیں اضافی تناؤ دیا جانا چاہیے، اور بولنے کی شرح میں تھوڑی کمی کی جانی چاہیے۔ دوسری مثال محض پریزنٹیشنل کے بجائے بامعنی طور پر بہتر مارک اپ ہے۔ لفظی وضاحت صفحہ کے مواد کے حصوں کی اس قسم کی گروہ بندی اور لیبلنگ کو خالصتا صفحہ کو عمومی لحاظ سے الفاظ کے لحاظ سے زیادہ معنی خیز بنانے کے لیے متعارف کرایا جا سکتا ہے۔ یہ کہنا ناممکن ہے کہ آنے والے سالوں اور دہائیوں میں ورلڈ وائڈ ویب کیسے ترقی کرے گا۔ آج ڈیزائن کیے گئے ویب صفحات تب بھی استعمال میں ہو سکتے ہیں جب انفارمیشن سسٹم جن کا ہم ابھی تصور بھی نہیں کر سکتے وہ ویب کو ٹریول، پروسیسنگ اور درجہ بندی کر رہے ہوں۔ یہاں تک کہ آج کے سرچ انجن جیسے گوگل اور دیگر کافی پیچیدگی کے ملکیتی انفارمیشن پروسیسنگ الگورتھم استعمال کرتے ہیں۔ کچھ سالوں سے، ورلڈ وائڈ ویب کنسورشیم (ڈبلیو 3 سی) ایک بڑا سیمنٹک ویب پروجیکٹ چلا رہا ہے جو پورے ویب کو آج اور مستقبل کے انفارمیشن سسٹمز کے لیے تیزی سے مفید اور معنی خیز بنانے کے لیے ڈیزائن کیا گیا ہے۔ مائیکروفارمیٹس تحریک سیمنٹک کلاسز کا خیال بنانے کی ایک کوشش ہے۔ مثال کے طور پر، مائیکرو فارمیٹس سے آگاہ سافٹ ویئر خود بخود ایک عنصر تلاش کر سکتا ہے اور ٹیلی فون نمبر کی خودکار ڈائلنگ کی اجازت دے سکتا ہے۔ کوڈ سے رسائی ایک بار جب ایچ ٹی ایم ایل یا ایکس ایچ ٹی ایم ایل مارک اپ پیج وزیٹر کے کلائنٹ براؤزر پر پہنچایا جاتا ہے، تو اس بات کا امکان ہوتا ہے کہ کلائنٹ سائیڈ کوڈ کو ویب پیج کے اندرونی ڈھانچے (یا دستاویز آبجیکٹ ماڈل) کو نیویگیٹ کرنے کی ضرورت ہوگی۔ اس کی سب سے عام وجہ یہ ہے کہ صفحہ کلائنٹ سائیڈ جاوا اسکرپٹ کے ساتھ فراہم کیا جاتا ہے جو صفحہ پیش کیے جانے کے بعد جاری متحرک طرز عمل پیدا کرے گا۔ مثال کے طور پر، اگر ماؤس کو 'ابھی خریدیں' لنک پر رول کرنا قیمت بنانے کے لیے ہے، تو صفحہ پر کہیں اور زور دیا جاتا ہے، جاوا اسکرپٹ کوڈ ایسا کر سکتا ہے، لیکن جاوا اسکرپٹ کو قیمت کے عنصر کی شناخت کرنے کی ضرورت ہے، جہاں بھی وہ مارک اپ میں ہو۔ مندرجہ ذیل مارک اپ کافی ہوگا: ایک اور مثال ایجیکس پروگرامنگ تکنیک ہے، جہاں، مثال کے طور پر، ہائپر ٹیکسٹ لنک پر کلک کرنے سے جاوا اسکرپٹ کوڈ پورے صفحے کو دوبارہ لوڈ کیے بغیر، صفحہ کے اندر موجودہ قیمت کی جگہ ظاہر کرنے کے لیے متن کو دوبارہ حاصل کرنے کا سبب بن سکتا ہے۔ جب نیا متن سرور سے واپس آتا ہے، تو جاوا اسکرپٹ کو نئی معلومات کے ساتھ تبدیل کرنے کے لیے صفحہ پر صحیح علاقے کی شناخت کرنی چاہیے۔ خودکار ٹیسٹنگ ٹولز کو بھی اسپان اور ڈیو عناصر کی کلاس یا آئی ڈی صفات کا استعمال کرتے ہوئے ویب پیج مارک اپ کو نیویگیٹ کرنے کی ضرورت پڑ سکتی ہے۔ متحرک طور پر تیار کردہ ایچ ٹی ایم ایل میں، اس میں پیج ٹیسٹنگ ٹولز کا استعمال شامل ہو سکتا ہے جیسے کہ ایچ ٹی ٹی پی یونٹ، جو کہ ایکس یونٹ فیملی کا ایک رکن ہے، اور فارم سے چلنے والی ویب سائٹس پر لاگو ہونے پر اپاچی جے میٹر جیسے لوڈ یا اسٹریس ٹیسٹنگ ٹولز۔ ڈیو اور اسپین کا معقول استعمال ایچ ٹی ایم ایل اور ایکس ایچ ٹی ایم ایل مارک اپ کا ایک اہم حصہ ہے۔ تاہم، بعض اوقات ان کا زیادہ استعمال کیا جاتا ہے۔ ایچ ٹی ایم ایل میں دستیاب فہرست کے مختلف ڈھانچے ڈیو اور اسپین عناصر کے گھریلو ساختہ مرکب سے بہتر ہو سکتے ہیں۔ مثال کے طور پر، یہ: <ال کلاس = "مینو"> <لی> مرکزی صفحہ </لی> <لی> مواد </لی> مدد </لی> </ال> جو مرکزی صفحہ مواد مدد پیدا کرتا ہے۔ عام طور پر اس کے بجائے بہتر ہے: <ڈیوی کلاس = "مینو"> <اسپان> مرکزی صفحہ </اسپان> <اسپان> مواد </اسپان> </اسپان> مدد </اسپان> </ڈیوی> جو مرکزی صفحہ مواد تیار کرتا ہے مدد ڈیو اور اسپان عناصر کے بجائے ایچ ٹی ایم ایل کے سیمنٹک استعمال کی دیگر مثالوں میں ویب فارم کو تقسیم کرنے کے لیے فیلڈ سیٹ عناصر کا استعمال، اس طرح کے حصوں کی شناخت کے لیے لیجنڈ عناصر کا استعمال اور ڈیو کے بجائے فارم ان پٹ عناصر کی شناخت کے لیے لیبل کا استعمال شامل ہے۔ ایچ ٹی ایم ایل 5 نے کئی نئے عناصر متعارف کرائے۔ چند مثالوں میں ہیڈر، فوٹر، نیو اور فگر عناصر شامل ہیں۔ الفاظ کے لحاظ سے موزوں عناصر کا استعمال ایچ ٹی ایم ایل دستاویزات کو اسپان یا ڈیو سے بہتر ڈھانچہ فراہم کرتا ہے۔ ایچ ٹی ایم ایل اور ایچ ٹی ایم ایل 5 ایچ ٹی ایم ایل عنصر ایچ ٹی ایم ایل کی خاصیت کاسکیڈنگ اسٹائل شیٹس اور مدد: کاسکیڈنگ اسٹائل شیٹس سی ڈی اے ٹی اے سیاق و سباق اسپانس (COinS) جاوا اسکرپٹ سیمنٹک ویب حوالہ جات بیرونی لنکس گروپنگ عناصر: ڈی آئی وی اور ایس پی اے این عناصر ایچ ٹی ایم ایل ٹیگز ایچ ٹی ایم ایل