ארכיון הקטגוריה: כללי

דרושים מפקחי דת (פוסט ביקורת)

לחזק מכל דרושים/ות
*מפקחי דת*
אם אתה דינמי , מחוייב להלכה, ומסוגל בכל עניין להעביר את קולו של האל – התקבלת!!!
כן ,כן !!! אין צורך בראיון. ויותר מזאת – העבודה מהבית. ללא שעות קבועות.
השכר – גן עדן מובטח. למצטיינים – מבט רושף ורכב אש.

*הערת הגדול והנורא: למען הסר ספק. זו מודעה שפירסמה רעייתי , הסוברת כל הזמן שכוחי אינו במותני מפאת גילי.
למאמיני היקרים – אם אתם באמת ובתמים מאמינים שאני החזק מכל, אז השאירו לי את השיפוט ודירוג האנשים. זו העבודה שלי. ואך ורק שלי.
שלכם באהבה❤
אלוקים.

באגים ב-PHP בטיפול ב-XML באמצעות DomDocument \ SimpleXml

אני לא שותף למלחמות דת על "שפת התיכנות הטובה ביותר"

לרוב, מלחמות כאלו חסרות משמעות.

יחד עם זאת, הציפיה שלי משפת תיכנות, היא שהפקודות בה יעבדו כמו שצריך, בלי שאצטרך למצוא דרכים עוקפות כיוון שפקודה מסוימת לא עובדת בכל מצב.

כבר כמה שנים שאני מתעסק עם קבצי XML ענקים שמגיעים מגופים גדולים.

והסתבר לי עם הזמן שלספריות ש-PHP מציעה כדי לפענח XML, יש חסרונות עצומים.

  • אם הקובץ לא מגיע בקידוד המצופה ( למשל, הקובץ מוצהר כ-UTF-8 אבל בפועל הוא UTF-16LE )
    אז צריך לאתר זאת מראש, כי הפקודות שטוענות את הקובץ ומפרשות את ה-XML, לא יודעות לפענח את הקידוד השונה בעצמן.
  • שאילתות XPATH, לעיתים לא עובדות – מאוד תלוי "במצב הרוח" של הספריה.
    לדוגמא – DomDocument מסוגלת לבצע שאילתות XPATH בצורה טובה, ואז בלי סיבה מיוחדת – לא לעבוד.
  • לעיתים, ספריה אחרת יודעת לפרש את ה-XML, והספריה השניה לא מצליחה להתמודד איתו, ומחזירה false.

הפתרון שמצאתי בסופו של דבר קורא את הקובץ בספריה אחת ושומר אותו מחדש כדי שהספריה השניה תואיל בטובה לקרוא אותו בכל מצב.

זה אומנם עובד, אך גובה מחיר יקר בזמן עיבוד שבמקרה שלי הוא אקוטי כיוון שהלקוח יושב וממתין…

המצב הזה הוא ממש גרוע. ולצערי במקרה הזה – כל קובץ שהייתי צריך לבצע מניפולציות עליו ב-PHP, כאשר ניסיתי לפרש אותו עם VB , בספריה עתיקה ביותר של מיקרוסופט (MSXML 6 )  – זה הצליח תמיד , הרבה יותר מהיר, וללא שום בעיות.

במקרה הזה, יש לי רק מחמאות למיקרוסופט, הספריה העתיקה שלהם, עובדת מעולה.

מצבים כאלו, יוצרים תיסכול, כיוון שאילו זו הייתה ספריה אחת מתוך כמה – אז הייתי משתמש באחרות. אבל ב-PHP, נוצר מצב ש-2 הספריות העיקריות לא עושות את העבודה. ברוב הקבצים – ברור ששתיהן עובדות כמו שצריך.  אבל כשמגיעים קבצים עם קידוד בעייתי ועוד…כל ספריה מתנהגת בצורה בלתי צפויה בפקודות שלה.

מה המסקנה ?

אז אומנם php היא שפה מאוד כייפית לפיתוח, ומכילה כמות עצומה של פקודות וספריות, קהילה תומכת וכו' וכו'

אבל כנראה שיש צדדים מסויימים שבהם יש לה חסרונות ולגביהם כנראה צריך לבחור דרך להתגבר עליהם בשפות אחרות.

חבל …אבל זה מה יש.

אם יש לכם קבצי xml שאתם הייצרנים שלהם , ו- php היא שפת הפיתוח שלכם, אז תישארו איתה. אבל כשיש קבצי xml שאתם לא שולטים במקור שלהם, ויש סיכוי לקבצים עם בעיות …תבחרו שפה אחרת כדי לקרוא אותם. זו ההמלצה שלי.

העברת DB מ- Access על Sql Server באמצעות SSMA

בפוסט הזה אני מציין מספר נקודות מעניינות לגבי העברה של DB מסביבת Access אל Sql Server ( במקרה שלי גירסת Exrpress )

1- מיקרוסופט הסירו מאקסס את האפשרות  לייצא ישירות ל- SQL SERVER

הם ממליצים להשתמש בכלי שלהם שנקרא Sql Server Migration Assitant

יש גירסאות שלו עבור כמה סוגי DB נפוצים ( MySQL ועוד )

 

2- הכלי עובד יפה, אם כי לא אינטואיטיבי כל כך – ועל כך הפוסט הזה.

דברים שצריך לשים לב אליהם :

שלב 1  – יצוא הטבלאות מ- Access אל Sql Server

 

  • עוד לפני שמפעילים את הכלי – צריך להיות מודעים להתאים גירסת האופיס לגירסת הכלי ( ה=SSMA)
    אם ה-Access הוא בגירסת 32 ביט, צריך להפעיל את ה-SSMA 32 Bit  ( כי ה-Default הוא 64  ביט )
    שימו לב שההתקנה הרגילה מתקינה אצלכם ברשימת התוכניות – 2 גירסאות (32+64 )
    אם לא מפעילים את הגירסה שתואמת ל-Office שמותקן על המכונה, מקבלים בהמשך הודעת שגיאה שה-DB שניסיתם לטעון בלתי ניתן לקריאה…מה שכמובן לא נכון.
  • יצירת DB – לפני שמפעילים את הכלי, יש לייצור DB ב-SQL Server  שיקבל את הטבלאות שנייצא.
  • יצירת USER עבור ה-DB – שרת ה-Sql server מציע 2 צורות של אוטנטיקציה.
    אם משתמשים ב-Windows Auth… על אותה מכונה, לרוב לא תהיה בעיה.
    אם זה תחת שרתים אירגוניים, צריך לוודא שליוזרים יש הרשאות ל-DB,
    חשוב  לתת ליוזרים הרשאות , גם תחת "Security" של ה-Sql Server (=הכללי בעץ)
    וגם תחת Security של ה-DB הספציפי.
    אפשרות קצת פשוטה יותר -היא שימוש ב-Sql Auth, וגם שם צריך לוודא שהיוזר שיצרתם, מורשה הן לגישה ל-Server והן ל-DB הספציפי.
  • כאשר סף סוף מפעילים את הכלי – עדיף לא להשתמש ב-wizard שקופץ בכניסה – הוא אומנם מוביל שלב אחרי שלב, אך מדלג  על חלק מהשלבים, ולכן לא כל כך עוזר…
  • הגדרה שכדאי, ואפילו חובה לבצע עוד בהתחלה, היא להיכנס למקום שבו מוגדר לאיזה סוג שדה הופך כל אחד מהשדות ( למשל :  שדה TEXT של Access הופך ל- nvarchar של Sql Server וכדומה )
    זה נעשה תחת Tools < Default Project Settings > Type Mapping
    כל ההגדרות תקינות …חוץ מאשר….Date של Access  – שמועבר בצורה שגויה אל Datetime(2) של Sql Server , הבעיה היא, שכאשר נסיים את תהליך העברת הטבלאות, ונקשור את הטבלאות בחזרה אל פרוייקט ה-Access שלנו, תהיה לנו בעיה – ש-Access לא יודע לקרוא את סוג השדה הזה , ולכן ממיר אותו אל Text …וזה כבר יוצר שגיאות וולידציה, ובעיות בקוד ה-VBA שמצפה ל- Datetime.
    הפתרון הוא להגדיר את השדות כ- Datetime רגיל ( בלי ה-2 )
    במקרה זה – ההמרה עוברת תקין.
  • השלב הראשון, הוא "יצירת פרוייקט" (דרך התפריט או דרך כפתור למעלה)
    חשוב לשים לב – לבחור במסך יצירת הפרוייקט את גירסת ה- Sql Server שלכם
    ה-DropDown הוא כמעט מוסתר, וברירת המחדל היא Azure….מה שלא בטוח שהתכוונתם.

    • נקודה נוספת באותו עניין – יש אפשרות להגדיר את זה תחת Tools > Defailt project settings  (גם כאן ה-Dropdown נסתר מהעין)
  • לאחר שמוסיפים את ה-DB של Access באמצעות Add Databases , יש לבצע שמירה של הפרויקט – השמירה גורמת ל-SSMA לטעון את ה-Metadata של הטבלאות.
    למה…ככה (מיקרוסופט ? )
  • השלב הבא הוא חיבור ל-SQL SERVER,  אם לא בחרתם מראש בגירסת ה-SQL SERVER הנכונה, אזי לא תוכלו להתחבר ל-SQL שלכם.
  • בסוף אחרי שהכל מוגדר , כדי לגרום לכפתור ה- Convert-Load_AND-MIGRATE לעבוד , חייבים ללחוץ ללחוץ על ה-Access DB הרלוונטי – ורק אז הכפתור הופך ל-Enabled
  • לאחר לחיצה על כפתור המרה ( Convert..load..and migrate )
    הכלי עובד די מהר וחלק, טוען את כל הטבלאות , ובונה אותן, כולל את המפתחות הזרים והאינדקסים.  אפשר לומר שזה החלק הטוב בכלי הזה, שבסופו של דבר הוא באמת מבצע את העבודה.

שלב 2 – חיבור של קובץ ה-Access אל הטבלאות ב-Sql Server

זה תהליך די מוכר לכל מתכנת Access, ואכתוב אותו בקצרה :

  • מוחקים ( בלי לפחד 🙂 ) את הטבלאות המקוריות ( בין אם הם מקושרות, ובין אם מאוחסנות בקובץ הזה )
  • תחת "נתונים חיצוניים" > יבוא וקישור >  מסד נתונים של ODBC > ניצור Connection חדש או בקובץ, או של מערכת ההפעלה  ולאחר יצירת ה-Connection נבחר בו כדי לקשור את הטבלאות.
    • בשלב יצירת ה-Connection יש לבחור בדרייבר של Sql Server , או Sql Server ODBC Driver
    • באחד ממסכי יצירת ה-Connection יש לשים לב לאפשרות של בחירת ה-Default Database – ולהפעיל אותה רק על ה-DB הרלוונטי ב-SQL Server
  • לאחר שנבחר ב-Connection שיצרנו – נסמן את הטבלאות לקישור, יש לשים לב לא לסמן גם את טבלאות המערכת של Sql server , אלא רק את הטבלאות המקוריות ששיכות לפרויקט שלנו ( זה לא משנה, אבל חבל סתם להעמיס טבלאות מקושרות שלא נחוצות על הפרוייקט)
  • אם אתם לא רוצים לשגע את היוזרים – כדאי לסמן את האפשרות לשמור את הסיסמה ( ואז ללחוץ על אישור בנפרד לכל אחת מהטבלאות….מיקרוסופט …!!!! )
  • זה עוד לא נגמר …בשלב זה, כיוון שהטבלאות ב-Sql Server מתחילות תחת "איזור" שנקרא לרוב dbo. אז בקישור ל-Access, פתאום מתווסף לכל הטבלאות בתחילת השם, הביטוי dbo_ , צריך לעבור טבלה-טבלה, ולשנות את השם בחזרה לשם המקורי. (או לכתוב\למצוא סקריפט שעושה זאת …)
    אחרת – אם לא נעשה זאת, השאילתות שלנו לא יעבדו.
  • וכאן הגיע הזמן לבדוק שהכל תקין.

בהצלחה.

 

נקודה אחרונה, אך ממש לא קשורה – למי שמפתח Web על אותה מכונה שעליה מותקן ה-Sql Server.

אחד ה-Services שמופעלים בהתקנת ה-Sql Server, נקרא Sql Server Reporting Service

ולמרבה הפלא …הוא תופס את Port 80  ….

כך שאם רוצים להמשיך לעבוד , צריך : או להשבית אותו ( services.msc וכו' )  או להמשיך לעבוד בפורט אחר עבור ה-localhost על המכונה.

פתרון לבעית – לא רואים עברית בעורך ה-VBA

לאחרונה היו לי כמה פרוייקטים של כמות חישובים גבוהה על אקסל.
באופן כללי – זו לא מתודה אידיאלית, להשתמש באקסל מאחורי הקלעים בשביל מיליוני חישובים.

אבל יש לזה יתרון אחד – המהירות העצומה של זמן הפיתוח ( בוא נגיד, שלפתח דבר כזה בכל שפת תכנות היה אורך פי 10-15 זמן לפחות )

על כל פנים, במסגרת זו השתמשתי בשרתים ב-Azure ובעוד סביבות, ופעמים רבות ה-VBA לא מציג עברית.

הנחת יסוד : התקנתם לכל הפחות תמיכה עברית ב-Windows

הפתרון לזה פשוט מאוד :

נלחץ על הגדרות השפה  ( דרך השפה לייד השעון, או דרך Lang…Pref. )

נבחר ב-Location

נבחר ב-Administrative

ובאפשרות Lang for non-unicode נבחר באפשרות Hebrew

 

וזהו.

התמודדות עם התקנת קובץ MSI על Windows Server שמחזירה הודעת שגיאה

בהתקנה רגילה על Windows Server של קובץ MSI תקין לגמרי, קיבלתי את ההודעה הבאה :

The System Administrator Has Set Policies to Prevent This Installation

חיפוש בהגדרות ה-Policy, לא עזר, לא הייתה שום מגבלה והרצתי את זה בתור Admin.

בסופו של דבר הפתרון הוא כזה :

להפעיל CMD בתור Admin

לנווט אל התיקיה הרלוונטית

להפעיל את הקובץ כך msiexec /i install.msi

זה עובד…

מקור: http://serverfault.com/questions/580972/why-is-this-preventing-me-installing-an-msi-the-system-administrator-has-set-po 

איך לכבות את Explorer enhanced security על Windows Server

שלום,

 

כשמקבלים VPS של Windows Server

אחד הדברים המעצבנים הוא ה- enhanced security שמופעל על אקספלורר.

כדי לכבות אותו יש לעשות כך :

מפעילים את Server Manager

לוחצים בצד שמאל על Local Server

במסך שמופיע מחפשים את הביטוי Explorer enhanced security

ולוחצים על ה-On ומגדירים את זה כ-Off (לכולם )

 

יש פה מדריך בתמונות למתקשים.

נגישות אתרים

נגישות אתרים – שימוש ב aria-label

פעמים רבות כאשר מפתחים אפליקציית ווב, אנחנו משתמשים בכפתורים ויזואלים, עם אייקון או תמונה. הדוגמאות הנפוצות הן כפתור הדפסה (ציור של מדפסת) , כפתור יצירת פידיאף ( הסמל של אדובי ) כפתור שיתוף ( סמל של צומת מסתעפת) וכדומה.

מבחינת נגישות – אנחנו אמורים לתת תויות עם כיתוב , אלא שלא תמיד זה מתאים למה שרוצים לעשות. במקרה כזה באה לעזרתנו ה ARIA API ובאופן ספציפי ה aria-label .

אם מוסיפים את המאפיין aria-label אל אלמנט מסוים בדף , אז קורא-מסך ידע במקרים כאלו להקריא את תוכן המאפיין.

בקורס של גוגל על נגישות אתרים, מביאים דוגמא של חלון מודאלי שיש בו כפתור סגירה (האיקס הקטן למעלה) – במקרה כזה, אם לא נשים aria-label עם הכיתוב "סגירה" אז מי שמשתמש בקורא מסך לא יוכל להשתמש בחלון המודאלי, אך לעומת זאת ברקע שמשתמשים במאפיין aria-label אז קורא מסך כמובן מתייחס לזה.

נגישות אתרים – דף ריכוז טכניקות למפתחים – בעברית פשוטה

מטרת הדף הזה היא לרכז  טכניקות נגישות בפיתוח Web כאשר אני אתעד ישירות מהתקן ( כלומר ישירות מדף הטכניקות של W3C) , ואשתדל לתת דוגמאות . השתדלתי לכתוב בשפה הכי פשוטה שיש, בלי מונחיים משפטיים. קיבצתי נושאים קשורים יחד. ובמקומות שבהם היה נראה לי חשוב – קישרתי למקורות.

*** הפוסט בכתיבה ועדין לא גמור ( נכון ל-17.8.2016 לסה"נ ) ***

 

טכניקות נגישות

טכניקות נגישות כלליות

 

  • הקישור הראשון בדף צריך להיות "דלג לתוכן"
    והוא צריך להוביל ישירות לעוגן (#) של התוכן
    זה לא חייב להיות גלוי , מותר לשים class שמסתיר את זה ,
  • דוגמא :
<a href="#content">דלג לתוכן</a>
  • אל תגביל את המשתמש בזמן – שיוכל לסיים מה שהוא רוצה לעשות.  לדוגמא – באתר מכרזים, שמנגנון הניצחון יקבע לפי ההצעה הטובה ביותר ולא לפי זמן.
    דוגמא נוספת – משחקי מחשב – לאפשר הוספת זמן
  • תן אפשרות להפסיק רענון אוטומטי – אם אתה מרענן אוטומטית את הדף \ חלק בדף, אתה צריך לספק לגולש אפשרות לעצור את הרענון.
    החריג היחיד – הוא במקרים של "חירום" – כמו למשל ההתראות שפיקוד העורף סיפק עבור נפילות של טילים בצוק איתן – במקרה כזה, לא צריך לאפשר לגולש להפסיק את הרענון.
  • תן אפשרות לרענן חלק בדף ( למשל קישור שמבצע רענון של מצב המניות \ חדשות וכדומה )
  • צריך לספק תחליף לכל דבר שהוא לא טקסט
    אני מסביר זאת בפירוט בהמשך, אך בכל מקרה העיקרון הוא שאתה צריך לקחת בחשבון שיש אנשים שלא מסוגלים לראות : תמונות, וידאו, אנימציות, קאפצאה , ולכן תספק לכל אלו תחליף בטקסט
    כאשר – בקטע הזה, המינימום שאתה צריך – זה לתת תיאור קצר שמסביר למשתמש שיש פה תמונה שמציגה משהו.
    אבל עדיף – לתת תיאור מלא, למשל – עבור וידאו, לתת תמליל מלא של הוידאו בתוך תגית הוידאו.
  • להודיע למשתמש מה הולך לקרות כתוצאה מפעולה שהוא יעשה בטופס \ בממשק לפני שזה מתרחש
    דוגמא  –
    יש לנו שאלות שבו כל פעם שעונים נכונה על שאלה מסויימת – אוטומטית המשתמש מועבר לשאלה הבאה .
    אז צריך להסביר לפני השאלה הראשונה שזה מה שהולך לקרות.דוגמא 2 – יש לנו מקום שבו בוחרים את שפת האתר באמצעות כפתורי רדיו  – אז בהסבר שיופיע לפני כפתורי הרדיו נכתוב בצורה ברורה שהשפה הולכת להשתנות.
  • אם משלבים באתר גם Components כמו JSP  או ActiveX , אז צריך לדאוג שהם יעבדו מול ה-Accessibility API ( כלומר מאפייני ARIA, roles ועוד )
    כדי שתוכנות שמסייעות לאנשים מוגבלים יוכלו להתחבר למידע.
  • חובה לוודא שאלמנטים בדף נקראים היטב על ידי עזרים של נגישות
    בעיקרון – התקן מציין שמי שכותב HTML תקין לפי התקן אז הוא יעמוד בזה בקלות
    יש כמה דברים בסעיף זה – שצריך להזכיר אותם:

    • נניח ויש תמונה שמשמשת ככפתור לחיץ – זה בעייתי, כי קורא מסך לא יבין במה מדובר
      לעומת זאת – אם נהפוך את התמונה לכפתור שיכלול Value ואת שם הכפתור – אז קורא מסך כן יוכל לקרוא את זה ולתת לגולש העיוור תיאור שמסביר שזה כפתור שנקרא….(הערך שכתבת במאפיין value) – קישור לדוגמא לכפתור שמוגדר נכון
  • כל מידע שמוצג בצבע – צריך להציג אותו גם עם הסבר במילים
    דוגמא -יש טופס עם שדות חובה  והם מסומנים באדום
    בנוסף  לייד כל שדה חובה מסומנת כוכבית אז המשפט בתחילת הטופס צריך לומר "השדות הדרושים מופיעים בצבע אדום וגם מסומנים ב- * כוכבית"נקודה לשים לב – הסימן כוכבית הוא דורש תשומת לב לגודל – כי לא כל קוראי המסך מתייחסים אליו ולא כל המשתמשים כבדי ראיה – שמים לב לכוכבית, בגלל הגודל שלה.
  • ניגודיות – ישנה נוסחה שקובעת מה "יחס הניגודיות" בין צבע הרקע לצבע הכתב. המטרה היא לקהל על כבדי ראיה.
    • בגדול – צריך לשמור על יחס 4.5:1
    • עבור טקסט גדול -אפשר גם יחס 3:1
    • אם קהל היעד הוא כבדי ראיה, או שרמת הנגישות הנדרשת היא AAA – אז נחוץ יחס של 7:1

    קישורים :
    בודק יחס – צבע מול צבע , ועוד אחד כאן
    טבלה של צבעים רבים ביחס לאחרים
    קישורים נוספים
    הנוסחה לבדיקת צבע

  • מקלדת:לוודא שאפשר להגיע לכל מקום בדף עם המקלדת ( בעיקר Tab ) .
    לוודא שאין "מלכודות מקלדת" בדף – כלומר שאין מקום מסוים שאם נכנסים אליו – אז אי אפשר לצאת ממנו באמצעות המקלדת בלבד.
    לא לדרוש קצב הקלדה מסוים
  • אפשר להבין מה המשמעות של כל קישור מתוך הטקסט של הקישור עצמו
    לדוגמא :
    במשפט הבא – אפשר להבין מתוך ההקשר שהקישור מוביל אל הכתבה …
    המאמר בעיתון הזה מאפיין את הכותב.
  • השתמש בכותרות של HTML כדי לתת כותרת ( ולא רק הדגשה של כתב באמצעות CSS  )
  • תן פתרון טכני שמאפשר לראות כל פעם איפה הפוקוס של המקלדת
    כלומר שעוברים בין אלמנטים בדף באמצעות טאב – אז אפשר לראות ויזואלית על המסך איפה אנחנו נמצאים. (קישור עם דוגמא ל- CSS ודוגמא ל- JS כדי להציג ויזואלית היכן הפוקוס )
  • לסדר את התוכן ב-DOM כך שיהיה תואם לסדר שלו על המסך – זה תקף בעיקר ב-2 עניינים:
    • לוודא שאם עשיתם עיצוב CSS הוא תואם לסדר שמופיע ב-Html, כדי שמי שמשתמש ב"קורא מסך" יוכל להבין את הסדר  – למשל נניח ויש רשימת של פריטים בקטלוג , ובאמצע יש תמונה, ואחריה תיאור של התמונה. ובאמצעות Css דאגנו שהתיאור של התמונה יבוא מתחתיה – אז צריך לוודא שגם ב-Html התיאור של התמונה הוא אחרי התמונה המתאימה ( ולא לפניה, למרות שמבחינה טכנית זה אפשרי כמובן ) .
    • בערבוב של שפות , למשל אנגלית בתוך משפט בעברית, צריך להשתמש בתגיות שמאפשרות ל"קורא מסך" להבין שהשפה התחלפה
      דוגמא :

      <p>The title says "<span lang="he" 
      dir="rtl">פעילות הבינאום, W3C</span>" in Hebrew.</p>

טכניקות נגישות שנוגעות לניווט

  • צריך להיות עקבי בניווט.
    זה לא אומר שאסור לשנות את התפריטים תוך כדי האתר
    אבל צריך להיות עקבי – נניח אם תמיד אנחנו מציגים בצד ימין תפריט שבהתחלה יש מבצעים ואחר כך המוצרים של הקטגוריה – אז ברור שאם עוברים לקטגוריה אחרת – התתי-קטגוריות מתחלפות, אבל עדין מבצעים יופיע ראשון – ואחר כך הדברים שקשורים לקטגוריה.
  • תן לגולש כמה אפשרויות להגיע לכל דף
    למשל :

    • תפריט ניווט וגם מפת אתר
    • תפריט ניווט וגם עמוד תוכן עניינים
    • תפריט ניווט וגם קישור למאמרים קשורים
    • תפריט ניווט וגם תיבת חיפוש

טכניקות נגישות שנוגעות ל-Meta ול-Header

  • בתגית Html הפותחת, צריך להכניס מאפיין שפה ( סעיף 3.1.1 )
  • <html lang="fr">
  • צריך לשים תגית title שמתארת באמת מה מציג הדף

טכניקות נגישות – מידע שמתעדכן אוטומטית

  • תאפשר לגולש לשלוט בעדכון – כלומר – לעצור אותו, לבצע עדכון, וכדומה.

טכניקות נגישות – תמונות

  • תשתמש ב-alt  על כל תמונה
  • אם התמונה היא חסרת משמעות – למשל חלק מהרקע של האתר – אז תשים עבורה alt="" רייק.

טכניקות נגישות – אנימציות / הבהובים / דברים זזים

  • אפשר למשתמש להפסיק כל דבר שזז ( אנימציה \ וידאו \ פלאש \ סרגל חדשות , משהו זז)
    צריך ליידע את המשתמש באיזה מקש להשתמש כדי לעצור.
    אם לדוגמא אנחנו מציגים קישור למצגת בתוך Modal, אז אפשר לתת תיאור בתחתית ה-Modal שאומר "לחץ על מקש הרווח כדי לעצור" .
    יש חריגים כאן – בסעיף 2.2.2
    דוגמא לסרגל חדשות שיש בו כפתור עצירה
  • אל תגביל את המשתמש בזמן – שיוכל לסיים מה שהוא רוצה לעשות.  לדוגמא – באתר מכרזים, שמנגנון הניצחון יקבע לפי ההצעה הטובה ביותר ולא לפי זמן.
    דוגמא נוספת – משחקי מחשב – לאפשר הוספת זמן
  • הבהוב :
    להגביל הבהוב עד 3 פעמים בשניה.
    רכיב מהבהב בכל מקרה לא יותר מ-5 שניות
    לתת שליטה על עצירת ההבהוב
    סעיף מיוחד עבור הבהוב אדום – במידה ויש לכם משהו כזה – צריך לוודא שעומדים בסעיף כאן

טכניקות נגישות – סרטונים / אודיו

  • סרטונים – לשים כתוביות
    הדרכה על הוספת כתוביות לסרטונים ב-YouTube
  • צריך לספק משהו במקום הוידאו, עבור אנשים שלא יכולים לראות את הוידאו ( עוורים ) – הפתרון המקובל הוא לשים את התמליל של הוידאו בתוך תגית הוידאו.
    אפשר לראות דוגמא לתמליל של הוידאו בתוך תגית וידאו – כאן.
  • בסרטונים –אם יש קטע בסרט, שמובן מהצפיה, אבל לא מובן למי שרק קורא את הכתוביות –אז צריך להוסיף אודיו או כתוביות שמסבירות את מה שמתרחש.נניח ובסרטון יש אבא ובת שמנהלים שיחה ותוך כדי השיחה מתחילה שריפה מאחורי גבם – אז אדם עיוור שרק קורא את הכתוביות לא יראה את השריפה ולא יבין מדוע בסצינה הבאה הם בורחים.כדי לפתור את זה – צריך לשים כתוביות או קטע שמע שמסביר שמתחילה שריפה.
  • תיאור שמע או חלופה למדיה = התיאור הלא ברור הזה בעצם אומר כך :
    אם יש וידאו שרואים בעיניים בוידאו אבל זה לא מובן למי שרק מקשיב לאודיו של הוידאו , למשל עיוור.
    אז צריך לספק אפשרות טכנית לעוד "רצועת אודיו" שמסבירה מה הולך על המסך.
    אבל יש אפשרות נוספת  – חלופה למדיה : שזה בעצם טקסט שמתאר בדיוק את התוכן של הוידאו
    דוגמא – אם יש סרטון הדרכה באתר, שבו יש מדריך שמסביר ומראה ביחד, אז אפשר לספק אחרי / לפני הוידאו – הסבר כתוב במילים, שמסביר את אותו דבר שהוסבר בוידאו.
  • להפסיק אוטומטית קטע אודיו שמתנגן לבד אחרי 3 שניות או פחות.
    בכל מקרה של יותר מ-3 שניות אודיו, חייבים לאפשר לשלוט באודיו – כלומר להנמיך, לעצור וכדומה.

טכניקות נגישות – גרפים

  • צריך לתת תיאור של משמעות הגרף, למשל אם הגרף מראה שבחודש תשרי המכירות היו גדולות יותר מאשר בחשוון – אז התיאור של הגרף יהיה "המכירות בתשרי עלו על המכירות בחשוון".

טכניקות נגישות  – טפסים

  • תשתמש ב-Lables כדי להסביר למשתמש מה למלא בכל שדה
  • וולידציות – אם הגולש טועה – צריך להסביר לו באיזה שדה ספציפית הוא טעה, ומה הטעות
    צריך גם לספק דוגמא לתיקון ( אלא אם כן זה יוצר בעיית אבטחה ).
  • עבור דברים פיננסים או משפטיים – צריך לעמוד בלפחות אחד מתנאים :
    • הפעולה צריכה להיות הפיכה – כלומר אם הוא ירצה הוא יוכל לבטל זאת
      או
    • שהנתונים שהוא הקליד יבדקו – ואם ימצאו שגיאות – הוא יוכל לתקן
      או
    • שלפני שהוא מבצע את השמירה\שליחה – יהיה עמוד שבו הוא יוכל לסקור את כל מה שהוא מילא, ולאשר סופית
  • אם אתה דורש בשדה מסוים שיקלידו רק בפורמט מסויים –
    אז תספק דוגמא או הסבר לפורמט הרצוי.
  • אם  סדר השדות במעבר באמצעות tab שונה מאשר הסדר שבו צריך למלא אותם
    אז להשתמש ב tabindex עבור השדות \ הפקדים – כך שהסדר בו צריך למלא את השדות – יהיה הסדר הנכון ב tabindex
  • טריק – בכל אלמנט בתוך הטופס שאינו שדה – בדרך כלל הטאב לא עוצר בו, אבל – אם נשים בו tabindex="0"   אז זה יגרום לכך שבמעבר טאב – המשתמש יעצור על זה
    זה אידיאלי עבור הוראות, כמו למשל תגיות p בתוך הטופס שבהם אומרים למשתמש דברים כמו "מינימום 6 תווים" וכדומה ( קישור לדוגמא עם טאב אינדקס אפס ).
  • לא לשנות תוכן של אלמנט שמקבל פוקוס
  • לא לעשות משהו בלתי צפוי כתוצאה ממילוי דברים בטופס אלא אם כן הודעת למשתמש על זה
    • דוגמא טרוייאלית ביותר – יש טופס על המסך, וכדי לשמור אותו – צריך לשים כפתור Submit עם המילה "שמור" – זה כבר עונה על הסעיף הזה בתקן
    • למשל – יש לך שדה שאם ממלאים בו ערך מסוים – אז אתה אוטומטית פותח טופס מודאלי למילוי עוד כמה פרטים – במקרה זה צריך לכתוב משפט שאומר למשתמש שזה מה שהולך לקרות.
    • אל תגרום להעברה לדף אחר כתוצאה מבחירת ערך בדרופ דאון.

 

 

גכ

עוד פעולות נגישות שצריך לבצע אם מנגישים לרמה  AAA :

  • וידאו :
    מתורגמן לשפת הסימנים בשידור חי
  • אודיו :
    אם יש קולות רקע במקביל לדיבור, למשל מוזיקת רקע תוך כדי שהקריין מסביר – אז צריך לתת אפשרות להשתיק את קולות הרקע,
    ובכל מקרה צריך להקפיד שקולות הרקע יהיו לפחות 20 דציבלים פחות מהדיבור. ( סעיף 1.4.7 )
  • עבור כל ביטוי מיוחד \ מקצועי וכדומה – יש לתת קישור להסבר או להשתמש בתגיות של "הגדרות" dl/dt וכדומה
  • להוסיף "פירורי לחם" בעמודי האתר – כלומר מקום כלשהוא בעמוד שאומר למשתמש איפה הוא נמצא בתוך האתר,
  • לתת קישור לעזרה בכל דף – והעזרה צריכה להיות רלוונטית עבור הדף .
  • לתת אפשרות להקראה אוטומטית של תוכן האתר
  • מתרגם לשפת הסימנים עבור וידאו
  • לתת מנגנון טכני שיפרש ראשי תיבות או קיצורים
  • הכלל שחל על דברים פיננסים או משפטיים ברמה AA – אז ברמה AAA הוא חל על הכל, כלומר בכל טופס, צריך לספק אחד מ-3 אפשרויות – אפשרות לבטל , אפשרות לתקן לאחר שנמצאו שגיאות, ודף סקירה שמציג את התוכן לאישור סופי לפני שמירה.
  • גם אם משתמש יצא מה-Session בטעות, צריך לתת לו אפשרות לחזור ולהמשיך מחדש מאותה נקודה – בלי למלא שוב פעם את הנתונים

מה קרה לאתר ? הסבר קצר

בעבר, החזקתי מספר אתרים, מתוך תובנה שאנשים לא תמיד מקבלים "ריבוי תחומים" וכל אחד מתעניין במשהו מסויים.

עם הזמן, התובנה העיקרית שקיבלתי היא להכיר בחוסר הזמן לתחזק אתרים רבים.

אז במקרה של אתר זה – שילבתי פנימה את הבלוג הטכני שהחזקתי בנפרד, מכיוון ששניהם עוסקים בנושאי תיכנות \ תשתיות – וכיוון שכך, נוספו פתאום עשרות פוסטים.

עם מנויי ה-RSS שקיבלו הפצצה – הסליחה 🙂

להשתמע

איל

שימוש במשתנים ב-Inno Setup

ב-INNO SETUP יש אפשרות מובנה למשתנים.

דבר ראשון – כדי לאפשר זאת, אז בהתקנה של INNO יש לסמן ב-V את החלק של ISPP
כך שאם לא עשיתם זאת, תחזרו על ההתקנה שוב.

הגדרת המשתנה –

 #define PICS "C:FOLDERpics"  

הגדרנו משתנה בשם PICS שמכיל את הערך של תיקית התמונות

שימוש במשתנה :

למשל בתוך הקטע של FILES


Source: {#PICS}*.*; DestDir: "{app}"

בהצלחה!