هل من المقبول إخفاء أي أشياء باستخدام العرض: لا شيء؟

StackOverflow https://stackoverflow.com/questions/2289749

  •  21-09-2019
  •  | 
  •  

سؤال

هل من المقبول إخفاء أي شيء مؤقتًا أو إلى الأبد display:none؟ في الموقع الديناميكي ، حيث يأتي العديد من مكونات الصفحة من مكونات إضافية مختلفة وما إلى ذلك ، وفي كثير من الوقت إذا كان العميل لا يريد أي شيء في الصفحة ثم أستخدمه dispaly:none لإخفاء الأشياء من الصفحة. أنا لا أزيل الشيء من المصدر الفعلي لأن العميل يمكن أن يعود اطلب تمكين هذا الشيء مرة أخرى.

إذن ما هي إيجابيات وسلبيات لإبقاء الأشياء تختبئ من العرض: لا شيء إذا احتفظت بأي عنصر من العناصر باستخدام استخدام Display:none مدى الحياة؟

هل هناك أي سلبيات من حيث SEO ، قارئ الشاشة ، إمكانية الوصول وما إلى ذلك؟

هل كانت مفيدة؟

المحلول

الايجابيات: من السهل جدًا القيام به

سلبيات:

  • لا تزال تقوم بتحميل المكونات على جانب الخادم وسيقوم العميل بتنزيلها. المتصفح ببساطة لن "يعرض" لهم.
  • أي شخص يستخدم "مصدر العرض" سيتمكن من رؤية القيم "المخفية". لذلك لا تستخدمه لإخفاء المعلومات الحساسة.

يمكنك ببساطة "التعليق" على جانب خادم القسم لتوفير الكثير من المعالجة على الخادم وعرض النطاق الترددي وما إلى ذلك.

نصائح أخرى

إذا أراد العميل إزالته ، فقم بإنشاء نسخة احتياطية من الصفحة ، ونشر صفحة تمت إزالتها بالفعل. لا تحل محل CSS فعلا إزالة عنصر. إذا قرروا أنهم يريدون ذلك في المستقبل ، فانتقل إلى النسخ الاحتياطي لنسختك المباشرة. إذا كنت تتعامل مع الإخراج الديناميكي (في حالة PHP أو تقنية مماثلة) ، فيمكنك إيقاف هذا الإخراج المعين مع التعليقات حتى لا يتم تضمينه في الاستجابة.

من المحتمل أيضًا أن نذكر هنا أن بعض محركات البحث (Google على سبيل المثال) تقوم بتقييم المحتوى المخفي.

إخفاء كميات هائلة من النص باستخدام display:none; هي واحدة من الأشياء التي تلتقطها العديد من محركات البحث ككلمة رسائل غير مرغوب فيها.

:)

من المنطقي إخفاء/إظهار الأشياء مع "Display: None" عندما تفعل Ajax من جانب العميل. وبهذه الطريقة يمكنك تبديل طرق العرض/علامات التبويب دون القيام برحلة مستديرة للخادم.

هناك حاجة لإزالة شيء ما من علامة تصنيف الصفحة عندما تكون هناك آثار أمان. إذا لم يكن لدى المستخدم الحق في رؤية بعض المعلومات الحساسة ، فلا ينبغي أن يكون هناك عند النقر فوق "مصدر العرض".

display: none من الجيد إخفاء الأشياء التي تريدها عندما يقوم الأشخاص بإيقاف تشغيل CSS أو استخدام المتصفحات التي لا تدعم CSS.

بقدر ما يذهب إمكانية الوصول ، هناك فرصة قوية لشيء مخبأ بـ "العرض: لا شيء ؛" لن يتم قراءتها بواسطة قارئ الشاشة. قد يكون هذا مقبولًا إذا كنت تنوي أن يكون بهذه الطريقة.

بديل محتمل لإخفاء المحتوى لقراء الشاشة/CSS Offers فقط هو استخدام هذه الفئة:

.offscreen {
    position: absolute;
    left: -9000px;
    width: 0;
    overflow: hidden;
}

و HTML التالي:

<h3 class="offscreen">Site Navigation</h3>

للحصول على معلومات كاملة عن تقنيات الاختباء:http://www.access-matters.com/2005/04/23/screen-reader-test-results/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top