Kamu Hizmetleri · Yeni Kaynak

tasarım sistemi .italia.

Bootstrap Italia’nın gerçek tipografisi, duyarlı Stepper yapısı ve kurtarılabilir yerel form durumuyla okunaklı bir hizmet adımları akışı uygulayın.

OpenDesign Kılavuzu8 Bölüm22 Referans KaydıÖzgün Uygulama Kılavuzu
01

tasarım sistemi .italia Arayüz Önizlemesi

Gerçekçi, üç aşamalı yerel bir planı tamamlayın, boş bir seçimden sonra toparlanın ve notunuzu kaybetmeden geri dönün.

Kütüphane ziyaretini planlayınÖrneğin Tamamını Aç
Yerel Bootstrap Italia 2.18.3 CSS ve Titillium Web; özgün iş akışı mantığı. · Uygulama başvurusu
02

tasarım sistemi .italia Tasarım Referansı

Bootstrap Italia 2.18.3 kurulu paketi ve resmî belgeleri; yerel CSS ve yazı tipi oluşturma üç farklı genişlikte kontrol edildi.

Tipografi ve yazı tipleri

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
Main familyTitillium WebÖnizlemeye 400/600/700 ağırlıklarında yerel WOFF2 dosyaları dahildir.
Long reading / codeLora / Roboto Monofont-serif ve font-monospace; arayüzün tamamında monospace kullanmayın.
Body16px / 1.52.7 tipografi düzenlemesinden bu yana varsayılan taban değeridir.
H1 mobile40px / 48px576px altında gerçek 2.18.3 CSS değeri.
H1 from 576px48px / 56pxÖlçülen yerel CSS; belgelerdeki tabloda satır aralığı hâlâ 60px olarak belirtiliyor.
Responsive typography576px thresholdStepper'ın 992px olan kompakt eşiğinden farklıdır.

Yerel anlamsal belirteçler

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
--bs-primaryhsl(210,100%,40%) = #0066ccBirincil eylem ve bağlantı rengi.
--bs-body-colorhsl(0,0%,10%)Varsayılan metin rengi.
--bs-successhsl(160,100%,25%)Başarı anlamı taşır; otomatik olarak tamamlanmış durumunu belirtmez.
--bs-dangerhsl(350,60%,50%)Hata veya yıkıcı eylem anlamı.
--bs-warninghsl(36,100%,30%)Uyarı rolü; palet sarısından farklıdır.
--bs-border-radius4px2px'lik küçük ve 8px'lik büyük çeşitleri de vardır.

Boşluklar ve düzen

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
Utility sizes 0–50, 4, 8, 16, 24, 48pxKök boyut 16px iken; örneğin p-3=1rem, p-5=3rem.
Responsive thresholds576 / 768 / 992 / 1200 / 1400pxsm ile xxl arası.
Container maxima540 / 720 / 960 / 1176 / 1320pxGerçek Italia CSS değeri; xl, standart Bootstrap 1140px değerinden farklıdır.
Preview width900px maximumResmî bir kapsayıcı belirteci değil, kısa bir yerel plan için uygulama tercihidir.
Stepper compact modeBelow 992pxYalnızca etkin etiket ve metinsel sıra numarası görünür.

Stepper yapısı

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
Root/headersteppers / steppers-headerÜstbilgi, aşamaların listesini içerir.
Stage statesconfirmed / activeDoğrulama sonrasında bu listeyi uygulama kodu güncellemelidir.
Mobile indexsteppers-indexn/total değerinin etkin aşamayla eşleşmesini sağlayın.
Bodysteppers-content; aria-live=politeTek sayfadaki değişen içeriği duyurur.
Navigationsteppers-nav; steppers-btn-prev / steppers-btn-nextSınıflar sunumu tanımlar; form yönlendirmesini otomatik olarak gerçekleştirmez.
03

tasarım sistemi .italia Eksiksiz Kılavuz

Bu sistemi gerçek bir arayüz için seçmeye, uygulamaya ve gözden geçirmeye yönelik pratik bir kılavuz.

DESIGN-designers-italia.md

Eksiksiz yönlendirme, uygulama için başlangıç noktası ve kaynak bağlantıları.

Kılavuzu İndir

tasarım sistemi .italia Sistem ve uygulama

Kod kütüphanesiyle Designers Italia

Designers Italia, bir CSS paketinden daha kapsamlıdır: hizmet tasarımı rehberliği, kitler ve uygulama kaynakları içerir. Bu örnek, 2.18.3 sürümüne sabitlenmiş ve belgelenmiş Bootstrap Italia uygulamasına odaklanır. Kütüphaneyi yüklemenin bir kamu hizmeti tasarımını tamamladığı veya belediye web sitesine yönelik tüm gereklilikleri karşıladığı anlamına gelmez.

Bu OpenDesign kılavuzundan

İncelenen sürümde Bootstrap Italia, Bootstrap 5.2.3'ü içerir ve özelleştirir. Üzerine ikinci bir standart Bootstrap paketi eklemeyin. Önizlemede, yerel olarak sağlanan Titillium Web yazı tipi dosyalarıyla birlikte yerel CSS ve özgün, üç aşamalı bir kütüphane ziyareti planlama akışı kullanılır.

Destekleyici belirtimi okuyun

tasarım sistemi .italia Tipografi ve kesin değerler

Yazı tiplerinin görevleri farklıdır

Titillium Web, arayüzün standart yazı tipi ailesidir. Lora, uzun metinlerde okumak için serif seçeneğidir; Roboto Mono ise kod veya sabit genişlikli içerikler için kullanılır. Önizlemede kullanılan Titillium Web ağırlıklarının gerçek dosyaları yüklenir ve yazı tipi lisansı korunur; sistem yazı tipi sessizce onun yerine kullanılmaz.

Gövde metni 16px olarak kalır. Başlıklar 576px'te değişir: küçük ekranda H1 48px satır aralığıyla 40px, kurulu CSS sürümünde ise 56px satır aralığıyla 48px'tir. Belge tablosunda masaüstü satır aralığı 60px olarak verilmiştir; buradaki referans tablosu, iki kaynaktaki değerleri birbirine karıştırmak yerine incelenen sürümü kaydeder ve farkı açıklar.

Destekleyici belirtimi okuyun

tasarım sistemi .italia Duyarlı ekran aralıkları ve boşluklar

İki kesme noktası farklı sorunları çözer

Tipografi eşiği 576px'tir; Stepper ise üstbilgisinin sunumunu 992px altında değiştirir. Kompakt ekranlarda geçerli etiket ve n/total sıra numarası görünür kalır. Diğer aşama adları okunamayacak kadar dar sütunlara sıkıştırılmaz. Mobil kullanıcıya geçerli aşama yine de duyurulmalıdır; örnekte bu, başlığa odaklanılarak ve erişilebilir durum metniyle sağlanır.

Boşluk yardımcı sınıfları, doğrulanmış rem ölçeğini izler: kök boyutu normal olduğunda 1'den 5'e kadar olan boyutlar için 4, 8, 16, 24 ve 48px. Izgara kapsayıcısının en büyük genişlikleri arasında xl için 1176px bulunur; bu değer, belleğe güvenerek sıkça kopyalanan standart Bootstrap değerinden farklıdır. Bağımsız plan için uygulama tercihi olarak daha dar, 900px'lik bir üst sınır kullanılır.

Destekleyici belirtimi okuyun

tasarım sistemi .italia Stepper yapısı ve sorumluluklar

İş akışını üstbilgi yönetmez

Belgelenmiş yapı; steppers-header, steppers-content ve steppers-nav bölümlerini birbirinden ayırır. Üstbilgideki liste öğelerine confirmed ve active sınıfları atanır; sıra numarası konumu gösterir. Geri ve ileri düğmelerine kendi sınıfları atanır. Bu sınıflar sunumu tanımlar. Geçerli formun doğru olup olmadığına ve sonraki bir aşamaya geçilip geçilemeyeceğine uygulama karar vermelidir.

Örnekte her aşama için sıradan bölümler kullanılır; denetimler DOM'da tutulur ve etkin olmayan bölümler gizlenir. Böylece erişim notu adımına dönüldüğünde not korunur. İnceleme adımı mevcut denetimlerdeki değerleri okur; tahmin edilen bir sunucu yanıtından yeni değerler oluşturmaz.

html
<div class="steppers">
  <div class="steppers-header">
    <ul>
      <li class="confirmed">Visit type <span class="visually-hidden">Completed</span></li>
      <li class="active" aria-current="step">Access note <span class="visually-hidden">Current step</span></li>
      <li>Review</li>
    </ul>
    <span class="steppers-index" aria-hidden="true">2/3</span>
  </div>
  <div class="steppers-content" aria-live="polite">
    <h2>Add an access note</h2>
    <label for="note">Access note (optional)</label>
    <textarea id="note" class="form-control" rows="3"></textarea>
  </div>
  <nav class="steppers-nav" aria-label="Plan steps">
    <button class="btn btn-outline-primary steppers-btn-prev">Back</button>
    <button class="btn btn-primary steppers-btn-next">Continue</button>
  </nav>
</div>

Kod referansı

Destekleyici belirtimi okuyun

tasarım sistemi .italia Doğrulama ve anlamlı ilerleme

Yalnızca gerekli seçim yapıldığında ilerleyin

Ziyaret türü seçilmelidir. Herhangi bir seçim yapmadan devam edilirse ilk adım etkin kalır, belirli bir hata gösterilir ve ilk radyo düğmesine odaklanılır. Bir tür seçip devam edildiğinde ilk aşama tamamlanmış olarak işaretlenir. İsteğe bağlı not boş bırakılabilir; bu durumda inceleme ekranında not eklenmediği belirtilir.

Geri düğmesi, seçimi veya notu silmeden önceki aşamaya döner. Baştan başla düğmesi ikisini de bilerek siler ve başlangıca döner. Son ekran yerel bir plan olarak adlandırılır; hiçbir zaman rezervasyonun gönderildiğini, onaylandığını veya kaydedildiğini iddia etmez.

  1. Hiçbir radyo düğmesini seçmeden Devam et'e basıp hatayı inceleyin.
  2. Bir ziyaret türü seçin, kısa bir not ekleyin ve İnceleme'yi açın.
  3. Nota geri dönüp değerinin korunduğunu doğrulayın; ardından planı temizlemek için baştan başlayın.

Destekleyici belirtimi okuyun

tasarım sistemi .italia Erişilebilir durum ve odak

Görsel ve sesli konumu eşleştirin

Etkin liste öğesinde aria-current="step" ve görsel olarak gizlenmiş, geçerli aşamayı belirten bir etiket bulunur. Önceki aşamalara confirmed sınıflarının yanı sıra tamamlanma metni de atanır. Geçerli başlık ve aşama semantiği konumu zaten belirttiği için kompakt sayısal sıra numarası yardımcı teknolojilerden gizlenir; görsel yön bulma amacıyla görünür kalır.

Değişen gövdede, resmî kılavuzun tek sayfalı bir akış için önerdiği aria-live="polite" kullanılır. Örnekte ayrıca klavye kullanıcılarına okunmaya nereden başlayacakları konusunda öngörülebilir bir işaret vermek için yeni başlığa odaklanılır. Daha karmaşık bir formda gereğinden tekrarlı duyuruları önlemek üzere bu ikiliyi desteklediğiniz yardımcı teknolojiyle sınayın.

  • Aşama değişiklikleri için gerçek düğmeler kullanın; ilk aşamada Geri düğmesi disabled olsun.
  • Etiketleri radyo düğmelerine ve metin alanına bağlayın; yer tutucu metin etiket yerine geçmez.
  • Geçerli/tamamlanmış durumları yalnızca mavi renkle veya simgeyle değil, metinle de belirtin.

Destekleyici belirtimi okuyun

tasarım sistemi .italia Yerel varlıklar ve başlatma

CSS, yazı tipleri ve isteğe bağlı JavaScript

Paket; CSS, paketlenmiş bir betik, kaynak yazı tipleri ve bir SVG sprite sağlar. Bu Stepper örneği CSS ve seçilen yazı tiplerini gerektirir; gezinme uygulama mantığına bağlıdır. Diğer bileşenler, otomatik başlatma için data-bs-toggle veya belgelenmiş veri özniteliklerini kullanır. Aynı bileşen için otomatik başlatma ile ikinci bir manuel örneği birlikte kullanmayın.

Modüller kullanıyorsanız yalnızca uygulamanın ihtiyaç duyduğu bileşenleri içe aktarın. Resmî kılavuz, geçiş yöntemlerinin geçiş tamamlanmadan geri döndüğünü ve geçiş sırasında yapılan çağrıların yok sayılabileceğini belirtir. Bu bileşenlerde birbirine bağlı eylemleri sıralamadan önce ilgili tamamlanma olayını bekleyin; bu basit Stepper, yerel bir geçiş API uydurmaz.

Destekleyici belirtimi okuyun

tasarım sistemi .italia Entegrasyon sınırları

Hizmetin tamamlandığı izlenimini vermeden kiti kullanın

Kütüphane belgeleri, sürümün güncel tutulmasını önerir ve üretimde herkese açık bir CDN bağımlılığını sakıncalı bulur. Kurulum, doğrulanmış sürümü sabitler; yerel örnek ise kendi varlıklarını ve lisanslarını içerir. Gerçek bir hizmette ayrıca içerik tasarımı, veri işleme, sunucu tarafı doğrulama ve gönderimin alındığını doğrulayan bir yanıt gerekir.

Örnekte belediye logosu veya resmî amblem kullanılmadan genel bir kütüphane ziyareti anlatılır. Bu, öğretim amaçlı bir OpenDesign örneğidir; bir kamu kurumu hizmeti değildir. Görsel açıdan özenli bir inceleme ekranının gerçek bir başvuru kaydı sanılmaması için prototiplerde bu ayrımı koruyun.

Destekleyici belirtimi okuyun

tasarım sistemi .italia Tasarım Sistemi Bileşen Örnekleri

İkinci aşamadaki Stepper yapısı

Tamamlanmış, etkin ve mobil sıra numarası durumları uygulama koduyla eşzamanlı tutulmalıdır.

html
<div class="steppers">
  <div class="steppers-header">
    <ul>
      <li class="confirmed">Visit type <span class="visually-hidden">Completed</span></li>
      <li class="active" aria-current="step">Access note <span class="visually-hidden">Current step</span></li>
      <li>Review</li>
    </ul>
    <span class="steppers-index" aria-hidden="true">2/3</span>
  </div>
  <div class="steppers-content" aria-live="polite">
    <h2>Add an access note</h2>
    <label for="note">Access note (optional)</label>
    <textarea id="note" class="form-control" rows="3"></textarea>
  </div>
  <nav class="steppers-nav" aria-label="Plan steps">
    <button class="btn btn-outline-primary steppers-btn-prev">Back</button>
    <button class="btn btn-primary steppers-btn-next">Continue</button>
  </nav>
</div>

Kod referansı

Yerel planlama akışını tamamla

Yerel CSS/fonts, zorunlu radyo düğmesi doğrulaması, isteğe bağlı not, gözden geçirme, geri ve sıfırlama.

html
<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Prepare a library visit</title><link rel="stylesheet" href="vendor/bootstrap-italia-2.18.3/bootstrap-italia.min.css"><link rel="stylesheet" href="vendor/bootstrap-italia-2.18.3/fonts.css"><style>body{padding:32px 16px}main{max-width:900px;margin:auto}.steppers-content{padding:24px 0}.steppers-nav{display:flex;gap:16px;justify-content:space-between}.form-check{margin-bottom:16px}footer{font-size:14px;margin-top:32px;border-top:1px solid #ccc;padding-top:16px}[hidden]{display:none!important}.error{color:var(--bs-danger)}@media(max-width:575px){body{padding:24px 16px}}</style><main><p class="text-uppercase">Independent service example</p><h1>Prepare a library visit</h1><p class="lead">Choose a visit format, add a note and review your local plan.</p><div class="steppers"><div class="steppers-header"><ul id="steps"><li class="active" aria-current="step">Visit type <span class="visually-hidden">Current step</span></li><li>Access note</li><li>Review</li></ul><span class="steppers-index" id="index" aria-hidden="true">1/3</span></div><div class="steppers-content" aria-live="polite"><section data-step="0"><h2 tabindex="-1">Choose a visit type</h2><fieldset><legend class="visually-hidden">Visit type</legend><div class="form-check"><input id="guided" type="radio" name="visit" value="Guided introduction"><label for="guided">Guided introduction</label></div><div class="form-check"><input id="quiet" type="radio" name="visit" value="Quiet reading visit"><label for="quiet">Quiet reading visit</label></div></fieldset><p id="error" class="error" role="alert" hidden>Choose a visit type before continuing.</p></section><section data-step="1" hidden><h2 tabindex="-1">Add an access note</h2><p id="hint">Optional. Describe what would help you use the space; avoid sensitive personal information.</p><label for="note">Access note</label><textarea id="note" rows="3" class="form-control" aria-describedby="hint" maxlength="200"></textarea></section><section data-step="2" hidden><h2 tabindex="-1">Review your local plan</h2><dl><dt>Visit type</dt><dd id="review-type"></dd><dt>Access note</dt><dd id="review-note"></dd></dl><p>This is a local plan only. No booking or request has been sent.</p></section></div><nav class="steppers-nav" aria-label="Plan steps"><button id="back" class="btn btn-outline-primary steppers-btn-prev" disabled>Back</button><button id="next" class="btn btn-primary steppers-btn-next">Continue</button><button id="reset" class="btn btn-primary" hidden>Start again</button></nav></div><footer>Native Bootstrap Italia 2.18.3 CSS and Titillium Web. Original local planning flow; no municipal identity or booking service.</footer></main><script>let step=0;const labels=['Visit type','Access note','Review'];function render(){document.querySelectorAll('[data-step]').forEach(x=>x.hidden=Number(x.dataset.step)!==step);document.querySelectorAll('#steps li').forEach((li,i)=>{li.className=i===step?'active':i<step?'confirmed':'';li.removeAttribute('aria-current');li.textContent=labels[i];const state=document.createElement('span');state.className='visually-hidden';state.textContent=i===step?' Current step':i<step?' Completed':'';li.append(state);if(i===step)li.setAttribute('aria-current','step')});document.querySelector('#index').textContent=(step+1)+'/3';document.querySelector('#back').disabled=step===0;document.querySelector('#next').hidden=step===2;document.querySelector('#reset').hidden=step!==2;if(step===2){document.querySelector('#review-type').textContent=document.querySelector('[name=visit]:checked').value;document.querySelector('#review-note').textContent=document.querySelector('#note').value.trim()||'No note added'}document.querySelector('[data-step="'+step+'"] h2').focus()}document.querySelector('#next').onclick=()=>{if(step===0&&!document.querySelector('[name=visit]:checked')){document.querySelector('#error').hidden=false;document.querySelector('#guided').focus();return}document.querySelector('#error').hidden=true;step++;render()};document.querySelector('#back').onclick=()=>{step--;render()};document.querySelector('#reset').onclick=()=>{document.querySelectorAll('[name=visit]').forEach(x=>x.checked=false);document.querySelector('#note').value='';step=0;render()};</script></html>

Kod referansı

04

tasarım sistemi .italia Aracı Kurulumu

Uygulamaya Başlangıç Noktası

Yerel CSS ve yazı tipi kurulumu. Adım göstergesinde gezinme uygulama mantığıdır; aşağıda çalışan eksiksiz bir örnek sunulmuştur. Kaynaklardaki çalışan örneğin tam ZIP dosyası, önizleme için gereken bağımlılıkların tam listesini ve eksiksiz belgeyi de içerir. Dosyaları çıkarın, bu dizinde python3 -m http.server 8080 komutunu çalıştırın ve ardından http://localhost:8080/designers-italia.html adresini açın. Modül tabanlı örnekleri file:// üzerinden açmayın.

bash
npm install [email protected]
# Copy dist/css/bootstrap-italia.min.css into public/vendor.
# Copy the needed src/fonts/Titillium_Web WOFF2 files and declare @font-face.
# CSS is sufficient for the Stepper presentation; application code owns navigation.
# For data-bs-toggle widgets, load dist/js/bootstrap-italia.bundle.min.js once.

Projeniz İçin Bir İstem

Ajan İstemi
Bootstrap Italia 2.18.3 yerel CSS ve Titillium Web kullanın. Belgelenen adım göstergesi/başlık/içerik/gezinme yapısını; etkin, onaylanmış ve mobilde eşitlenmiş dizin durumlarıyla oluşturun. Doğrulama ve gezinmeyi uygulama kodunda yönetin, Geri ile dönüldüğünde değerleri koruyun ve son durumu gerçek bir arka uç yanıtına göre etiketleyin. İkinci bir Bootstrap çalışma zamanı kullanmayın veya yerel bir incelemenin gönderildiğini iddia etmeyin.
05

tasarım sistemi .italia Kaynaklar ve Kapsam

Bootstrap Italia odaklı bağımsız bir OpenDesign örneği. Herhangi bir kamu kurumu kimliği veya gerçek rezervasyon hizmeti içermez.