/* Aljaweea — footer "Cookie Preferences" link opens the Complianz banner.
* Original by Digency (19 Aug 2026); amended 8 Sep 2026, runbook 5.14:
* - e.preventDefault() so the href="#" no longer scrolls the page to the top;
* - calls Complianz's own cmplz_set_banner_status('show') and falls back to
* clicking the (hidden) Manage-consent button if that function is absent.
* Rollback: restore the original 12-line version recorded in the runbook. */
document.addEventListener('click', function (e) {
var link = e.target.closest('.cmplz-show-banner');
if (!link) { return; }
e.preventDefault();
if (typeof cmplz_set_banner_status === 'function') {
cmplz_set_banner_status('show');
} else {
document.querySelectorAll('.cmplz-manage-consent').forEach(function (btn) { btn.click(); });
}
});
خريطة الطريق تشمل المرونة التشغيلية والتنسيق وحماية حقوق المسافرين وشفافية التواصل
في خطوة تكرس مبدأ الشفافية الحكومية والتواصل السياسي المسؤول، تحدث وزير الإعلام السعودي سلمان بن يوسف الدوسري ، عن الأزمة التي شهدها مطار الملك خالد الدولي بالرياض، مؤكدا أن إلغاء الرحلات أو تأخيرها يسبب إرباكًا كبيرًا لجداول المسافرين والتزاماتهم، وهو أمر لا يمكن قبوله.
جاء تصريحه هذا رغم أن انتهاء أزمة الاضطرابات الواسعة التي تسببت في زحام شديد بالمطار، ونجاح إدارة المطار، بالتعاون مع الجهات المعنية، في استعادة العمليات التشغيلية بالكامل خلال أقل من 48 ساعة، مع ضمان حماية حقوق المسافرين والاستجابة السريعة لكافة التداعيات، ما يعكس كفاءة إدارة الأزمة وفاعلية التنسيق بين مختلف الجهات. فماهي العوامل التشغيلية التي تسببت في هذه الأزمة
وكيف نجحت السلطات السعودية في اعادة الأمور الى نصابها في وقت قصير؟ وماهي الدروس التي يمكن أن تستفيد منها المطارات الإقليمية في حالة حدوث اضطرابات مماثلة مستقبلا؟.
التزام بحماية حقوق المسافرين
وقال الدوسري المؤتمر الصحفي الحكومي، إنه “استنادًا إلى البيانات الصادرة من مطار الملك خالد الدولي، فإن الإشكالية التي وقعت نتيجة تزامن عدد من الأسباب والعوامل التشغيلية، ما ترتب عليه تأثر جداول بعض الرحلات، التي بلغت نحو 200 رحلة تقريبًا”.
وبيّن الدوسري أن أي إطار تشغيلي في العالم قد يشهد بعض التحديات، سواء كانت تقنية أو تشغيلية، مؤكدًا أن جميع الجهات في الدولة على أتم الاستعداد للتعامل مع أي حدث طارئ أو خلل من خلال خطط طوارئ معدّة مسبقًا، واستعدادات دائمة لمواجهة مثل هذه الظروف. وأشار إلى أن ما حدث يُعد مثالًا حيًّا على حرية التعبير في المملكة، حيث شهدت الواقعة العديد من الانتقادات من مسافرين تضرروا من تأخير رحلاتهم، وهو أمر مفهوم، ويتم تفهّم مشاعر الاستياء المصاحبة له، مؤكدًا في المقابل أن الدولة تفرّق بوضوح بين النقد البنّاء المشروع، وبين التحريض الذي يستوجب المساءلة والعقوبة وفق الأنظمة.
King Khalid International Airport, Riyadh / Credit: Riyadh Airport website
عوامل تشغيلية سبب الأزمة
يشار إلى أنه في 20–22 ديسمبر 2025 واجه مطار الملك خالد الدولي في الرياض [←Riyadh Airports] اضطرابات واسعة في حركة الطيران تسببت في تأخير وإلغاء نحو 200 رحلة، ما أدى إلى ازدحام كبير داخل الصالات وتأثر آلاف المسافرين. وقد اتخذت ادارة المطار خطوات عدة للتعامل مع الأزمة أكدت تطبيقها نموذجا حديثا في إدارة الأزمات، حيث أوضح المطار في بيان رسمي نشر على منصة آكس أن الاضطرابات نتجت عن تزامن عدد من العوامل التشغيلية خلال يومي الخميس والجمعة الماضيين، وأدت الى الغاء وتأجيل عدد من الرحلات التي أثرت على الجدول العام للرحلات بالمطار.
ومن أبرز هذه العوامل تحويل عدد من الرحلات من مطارات أخرى إلى مطار الملك خالد، ما زاد الضغط على قدراته التشغيلية،
بالاضافة الى وجود أعمال صيانة مجدولة في منظومة التزود بالوقود، التي أثرت على قدرة المطار في تلبية طلبات شركات الطيران في الوقت نفسه.
كيف تمت معالجة الأزمة التشغيلية؟
بعد الإعلان عن الاضطرابات، تم اتخاذ عدة اجراءات أظهرت سرعة استجابة الجهات المعنية بهذه الأزمة من بينها:
التنسيق بين سلطات المطار وشركات الطيران، حيث تم العمل مباشرة مع الناقلات الجوية، مثل الخطوط السعودية وطيران أديل ، لإعادة جدولة الرحلات المتأثرة وإعفاء المسافرين من رسوم تعديل التذاكر.
كما قامت ادارة المطار بتنفيذ إجراءات عدة شملت مراقبة أداء منظومة التشغيل والتأكد من جاهزية منظومة التزود بالوقود، وتكثيف الفرق الفنية للعمل على مدار الساعة.
أصدر المطار بيانات عدة منذ بدء الأزمة لاعلام المسافرين باخر المستجدات، من بينها بيان رسمي من المطار نشر على منصة اكس يعبر فيه عن أسفه للإزعاج ومسؤولية حماية حقوق المسافرين، مع إشعار بالآليات المتبعة لتسليم الحقائب للرحلات الملغاة.
كما أعلن المطار عبر وسائل إعلام عدة استعادة كامل العمليات التشغيلية وعودتها إلى وضعها الطبيعي منذ صباح السبت الماضي، (كما ورد في هذا الخبر) . ونشرت ادارة المطار فيديو على حسابها بموقع اكس، ويظهر عودة الأمور الى نصابها داخل المطار خلال 48 ساعة.
ما هي الدروس المستفادة؟
ويمكن القول أن الأزمة التي مر بها مطار الملك خالد الدولي قدمت عددا من الدروس التي يمكن أن تشكل مرجعا تستفيد منه مطارات منطقة في مواجهة الظروف الطارئة، من أبرزها:
أولا أهمية المرونة التشغيلية، حيث أن اضطرابات الطيران غير المتوقعة تتطلب خططًا بديلة فورية للتعامل مع التحويلات أو الضغط المفاجئ على مرافق المطار. لذلك يجب وضع سيناريوهات مسبقة للطوارئ وتشغيلها فورًا عند حدوث أي خلل.
ثانيا، ضرورة التنسيق الكامل مع شركات الطيران في مثل هذه الحالات، حيث أن تنظيم إعادة جدولة الرحلات وتحديث معلوماتها عبر قنوات التواصل الرسمية يساعد في تخفيف الارتباك لدى الركاب ويحافظ على انسيابية العمليات، وهو ما قامت به ادارة مطار الملك خالد كما يظهر في هذا الخبر الصحفي.
ثالثا العمل على حماية حقوق المسافرين، من خلال التأكيد الرسمي على لوائح حماية حقوق المسافرين مثل عدم تحميلهم رسوم تعديل الحجز، الذي يعد عاملا مهما في الحد من الاستياء العام ويعزز من ثقة الجمهور بالمؤسسات.
رابعا، ضرورة العمل على تحديث البنية التحتية وصيانة منظومات مثل التزود بالوقود بشكل منظم لمنع تأثير ذلك على الجدول العام للرحلات.
خامسا، التواصل الإعلامي الفعال، فالتصريحات السريعة من الجهات الحكومية تساعد في تهدئة الجمهور، وتقديم معلومات دقيقة، وتوضيح الإجراءات المتخذة لحل الأزمة.
ابقوا على اطلاع دائم. احصلوا على أحدث أخبار الطيران والفضاء في العالم العربي لحظة نشرها عبر واتساب وتيليغرام، أو اشتركوا بنشرتنا البريدية لتصلكم نشرة أسبوعية. كما يمكنكم إضافتنا إلى مصادركم المفضلة لتظهر لكم أخبارنا بشكل أوسع في بحث Google.
نستخدم ملفات تعريف الارتباط لتشغيل هذا الموقع، وقياس القراءة، وعرض الإعلانات التي تموّل عملنا الصحافي. في منطقتكم تبقى ملفات تعريف الارتباط غير الضرورية معطّلة حتى تقبلوها. يمكنكم قبولها كلها أو رفضها كلها أو الاختيار بحسب الفئة، وتغيير خياركم في أي وقت عبر رابط “تفضيلات ملفات تعريف الارتباط” في أسفل كل صفحة.
وظيفية دائما مفعلة
ضرورية لعمل الموقع: لغة التصفح، وخياركم بشأن ملفات تعريف الارتباط، وحماية النماذج، وجلسة ووردبريس. مفعّلة دائماً.
تفضيلات
تحفظ الإعدادات التي اخترتموها حتى لا تحتاجوا إلى ضبطها مجدداً في زيارتكم التالية.
إحصائيات
Google Analytics لمعرفة المقالات الأكثر قراءة، ومن أي بلد، وعلى أي أجهزة. تُختصر عناوين IP قبل تخزينها.التخزين أو الوصول الفني الذي يُستخدم حصرياً لأغراض إحصائية مجهولة المصدر. وبدون أمر استدعاء أو امتثال طوعي من جانب مزود خدمة الإنترنت الخاص بك أو سجلات إضافية من طرف ثالث، لا يمكن عادةً استخدام المعلومات المخزنة أو المستردة لهذا الغرض وحده لتحديد هويتك.
تسويق
الإعلانات التي تعرضها Google AdSense، ومقاطع الفيديو المضمّنة وأزرار وسائل التواصل الاجتماعي، وبكسلات القياس لمنشوراتنا على المنصات الاجتماعية.
نستخدم ملفات تعريف الارتباط لتشغيل هذا الموقع، وقياس القراءة، وعرض الإعلانات التي تموّل عملنا الصحافي. وهي مفعّلة ما لم ترفضوها هنا. يمكنكم تغيير خياركم في أي وقت عبر رابط “تفضيلات ملفات تعريف الارتباط” في أسفل كل صفحة.
وظيفية دائما مفعلة
ضرورية لعمل الموقع: لغة التصفح، وخياركم بشأن ملفات تعريف الارتباط، وحماية النماذج، وجلسة ووردبريس. مفعّلة دائماً.
تفضيلات
تحفظ الإعدادات التي اخترتموها حتى لا تحتاجوا إلى ضبطها مجدداً في زيارتكم التالية.
إحصائيات
Google Analytics لمعرفة المقالات الأكثر قراءة، ومن أي بلد، وعلى أي أجهزة. تُختصر عناوين IP قبل تخزينها.التخزين أو الوصول الفني الذي يُستخدم حصرياً لأغراض إحصائية مجهولة المصدر. وبدون أمر استدعاء أو امتثال طوعي من جانب مزود خدمة الإنترنت الخاص بك أو سجلات إضافية من طرف ثالث، لا يمكن عادةً استخدام المعلومات المخزنة أو المستردة لهذا الغرض وحده لتحديد هويتك.
تسويق
الإعلانات التي تعرضها Google AdSense، ومقاطع الفيديو المضمّنة وأزرار وسائل التواصل الاجتماعي، وبكسلات القياس لمنشوراتنا على المنصات الاجتماعية.
var molongui_authorship_byline_params = {"byline_modifiers_enabled":"","byline_prefix":"","byline_suffix":"","byline_separator":",\u00a0","byline_last_separator":"\u00a0and\u00a0","byline_link_title":"View all posts by","byline_link_class":"","byline_dom_tree":"","byline_dom_prepend":"","byline_dom_append":"","byline_decoder":"v3","byline_data_url":"https://aljaweea.com/ar/wp-json/molongui-authorship/v1/bylines","byline_rest_nonce":""};
//# sourceURL=molongui-authorship-byline-js-extra
let cmplzBlockedContent = document.querySelector('.cmplz-blocked-content-notice');
if ( cmplzBlockedContent) {
cmplzBlockedContent.addEventListener('click', function(event) {
event.stopPropagation();
});
}
//# sourceURL=cmplz-cookiebanner-js-after
/* Accessibility quick fixes (WCAG 2.2 AA test, 27 Oct 2026). Safe to switch off.
1 skip link · 2 form autofill · 3 language switcher name · 4 dark-mode button name and state
5 mobile menu state and focus · 6 heading levels for screen readers · 7 author photos
8 form errors linked to fields · 9 "opens in a new tab" for screen readers · 10 main content area */
(function () {
var isAr = (document.documentElement.lang || '').toLowerCase().indexOf('ar') === 0;
var T = isAr
? { skip: 'تخطَّ إلى المحتوى الرئيسي', dark: 'الوضع المظلم', newTab: ' (يُفتح في علامة تبويب جديدة)' }
: { skip: 'Skip to main content', dark: 'Dark mode', newTab: ' (opens in a new tab)' };function visible(el) {
if (!el) { return false; }
var r = el.getBoundingClientRect(), s = getComputedStyle(el);
return r.width > 0 && r.height > 0 && s.visibility !== 'hidden' && s.display !== 'none' && r.right > 0 && r.left < window.innerWidth;
}function run() {
/* 1. Skip link (WCAG 2.4.1): jumps to the first block after the site header */
var header = document.getElementById('theme-header');
var target = header ? header.nextElementSibling : null;
while (target && (target.tagName === 'SCRIPT' || target.tagName === 'STYLE')) { target = target.nextElementSibling; }
if (target && !document.querySelector('.aj-skip-link')) {
if (!target.id) { target.id = 'aj-main'; }
if (!target.hasAttribute('tabindex')) { target.setAttribute('tabindex', '-1'); }
var a = document.createElement('a');
a.className = 'aj-skip-link';
a.href = '#' + target.id;
a.textContent = T.skip;
a.addEventListener('click', function () { setTimeout(function () { target.focus({ preventScroll: true }); }, 0); });
document.body.insertBefore(a, document.body.firstChild);
}/* 10. Main content area (WCAG 1.3.1): pages with none (the home pages) get one */
if (target && !document.querySelector('main, [role="main"]') && !target.querySelector('footer, #footer')) {
target.setAttribute('role', 'main');
}/* 2. Form autofill (WCAG 1.3.5) */
var inputs = document.querySelectorAll('form input');
for (var i = 0; i < inputs.length; i++) {
var el = inputs[i];
if (el.getAttribute('autocomplete')) { continue; }
var n = (el.name || '').toLowerCase();
var l = ((el.labels && el.labels[0] && el.labels[0].textContent) || el.getAttribute('aria-label') || el.placeholder || '').toLowerCase().trim();
var v = null;
if (el.type === 'email') { v = 'email'; }
else if (el.type === 'tel' || (/phone|هاتف|جوال/.test(l) && !/mail|بريد/.test(l))) { v = 'tel'; }
else if (/first_name/.test(n)) { v = 'given-name'; }
else if (/last_name/.test(n)) { v = 'family-name'; }
else if (el.type === 'text' && /^(name|full name|الاسم|الإسم)\b/.test(l)) { v = 'name'; }
else if (el.type === 'url') { v = 'url'; }
if (v) { el.setAttribute('autocomplete', v); }
}/* 3. Language switcher (WCAG 2.4.4, 3.1.2): name the target language in that language */
var sw = document.querySelectorAll('a.lang-toggle');
for (var s = 0; s < sw.length; s++) {
var toAr = /\/ar(\/|$)/.test(sw[s].getAttribute('href') || '');
var name = toAr ? 'العربية' : 'English';
sw[s].setAttribute('aria-label', name);
sw[s].setAttribute('title', name);
sw[s].setAttribute('lang', toAr ? 'ar' : 'en');
sw[s].setAttribute('hreflang', toAr ? 'ar' : 'en');
var ims = sw[s].querySelectorAll('img');
for (var k = 0; k < ims.length; k++) { ims[k].setAttribute('alt', ''); }
}/* 4. Dark-mode button (WCAG 4.1.2): clear name, behaves as a toggle button that reports on/off */
var skins = document.querySelectorAll('a.change-skin');
function isDark() { return document.documentElement.classList.contains('dark-skin'); }
function syncSkin() { for (var q = 0; q < skins.length; q++) { skins[q].setAttribute('aria-pressed', isDark() ? 'true' : 'false'); } }
for (var d = 0; d < skins.length; d++) {
skins[d].setAttribute('role', 'button');
skins[d].setAttribute('aria-label', T.dark);
skins[d].setAttribute('title', T.dark);
skins[d].addEventListener('click', function () { setTimeout(syncSkin, 300); });
skins[d].addEventListener('keydown', function (e) { if (e.key === ' ') { e.preventDefault(); this.click(); } });
}
syncSkin();/* 5. Mobile menu (WCAG 4.1.2, 2.4.3): report open/closed, move focus in on open and back on close */
var btn = document.getElementById('mobile-menu-icon');
var panel = document.querySelector('.side-aside');
if (btn && panel) {
btn.setAttribute('role', 'button');
btn.setAttribute('aria-expanded', 'false');
if (!panel.id) { panel.id = 'aj-mobile-menu'; }
btn.setAttribute('aria-controls', panel.id);
var check = function (moveFocus) {
setTimeout(function () {
var open = visible(panel);
btn.setAttribute('aria-expanded', open ? 'true' : 'false');
if (open && moveFocus) {
var first = panel.querySelector('a[href]:not(.close-side-aside), button');
if (first) { first.focus(); }
}
if (!open && moveFocus === 'back') { btn.focus(); }
}, 450);
};
btn.addEventListener('click', function () { check(true); });
var closers = panel.querySelectorAll('.close-side-aside');
for (var c = 0; c < closers.length; c++) { closers[c].addEventListener('click', function () { check('back'); }); }
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape' && btn.getAttribute('aria-expanded') === 'true') {
setTimeout(function () {
/* the theme closes the menu on Escape in English but not in Arabic */
var x = panel.querySelector('.close-side-aside');
if (visible(panel) && x) { x.click(); }
check('back');
}, 150);
}
});
}/* 6. Heading levels (WCAG 1.3.1): no jumps for screen readers; looks unchanged */
var hs = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
var prev = 0, hasH1 = !!document.querySelector('h1');
for (var h = 0; h < hs.length; h++) {
if (!visible(hs[h]) && !hs[h].closest('.side-aside')) { continue; }
var lvl = parseInt(hs[h].tagName.charAt(1), 10);
var eff = lvl;
if (!hasH1 && prev === 0) { eff = 1; }
else if (prev && lvl > prev + 1) { eff = prev + 1; }
if (eff !== lvl) { hs[h].setAttribute('aria-level', String(eff)); }
prev = eff;
}/* 7. Author photos: describe a linked photo by the author's name (it is the link's name); otherwise decorative */
var boxes = document.querySelectorAll('.about-author, .author-box, .m-a-box, .molongui-author-box');
for (var b = 0; b < boxes.length; b++) {
var pics = boxes[b].querySelectorAll('img');
for (var p = 0; p < pics.length; p++) {
var lk = pics[p].closest('a[href]');
var who = '';
if (lk) {
var byline = document.querySelector('a.author-name[href="' + lk.getAttribute('href') + '"]');
var strong = boxes[b].querySelector('.m-a-box-bio strong, [itemprop="name"]');
who = ((byline && byline.textContent) || (strong && strong.textContent) || '').trim();
}
if (lk && !who) { continue; } /* name not found: keep the existing description so the link keeps a name */
pics[p].setAttribute('alt', who);
}
}/* 9. "Opens in a new tab" for screen-reader users (W3C technique G201) */
var blanks = document.querySelectorAll('a[target="_blank"]');
for (var t = 0; t < blanks.length; t++) {
if (blanks[t].querySelector('.aj-newtab')) { continue; }
var sr = document.createElement('span');
sr.className = 'screen-reader-text aj-newtab';
sr.textContent = T.newTab;
blanks[t].appendChild(sr);
if (blanks[t].hasAttribute('aria-label')) { blanks[t].setAttribute('aria-label', blanks[t].getAttribute('aria-label') + T.newTab); }
}
}/* 8. Form errors (WCAG 3.3.1): link each error message to its field when it appears */
function linkErrors(root) {
var errs = (root || document).querySelectorAll('.ff-el-group .error, .ff-el-group .text-danger');
for (var e = 0; e < errs.length; e++) {
var grp = errs[e].closest('.ff-el-group');
var field = grp ? grp.querySelector('input:not([type=hidden]), select, textarea') : null;
if (!field) { continue; }
if (!errs[e].id) { errs[e].id = 'aj-err-' + Math.random().toString(36).slice(2, 9); }
var ids = (field.getAttribute('aria-describedby') || '').split(' ').filter(Boolean);
if (ids.indexOf(errs[e].id) === -1) { ids.push(errs[e].id); field.setAttribute('aria-describedby', ids.join(' ')); }
}
}
function watchForms() {
var forms = document.querySelectorAll('form.frm-fluent-form');
if (!window.MutationObserver) { return; }
for (var f = 0; f < forms.length; f++) {
new MutationObserver(function () { linkErrors(); }).observe(forms[f], { childList: true, subtree: true });
}
}function start() { run(); watchForms(); }
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }
})();
/* Aljaweea newsletter form (form 10): on Arabic pages, pre-select the Arabic edition.
2 Nov 2026 (Claude, runbook 8.82). Decision D-05 asks for the page language to be pre-selected through
the WPML translation of the field's default value; WPML does not offer that value for translation,
so this is the flagged fallback. The stored values stay "English" / "العربية" for the FluentCRM tag routing.
Rollback: set this snippet to Draft (the Arabic page then pre-selects English). */
(function () {
function run() {
if (!/^ar/i.test(document.documentElement.lang || '')) { return; }
var radios = document.querySelectorAll('form.fluent_form_10 input[type="radio"][name="dropdown"]');
for (var i = 0; i < radios.length; i++) {
if (radios[i].value === 'العربية') { radios[i].checked = true; radios[i].dispatchEvent(new Event('change', { bubbles: true })); }
}
}
/* Runs whether or not the page has finished loading (Breeze may delay scripts). */
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
/* Aljaweea forms: let Fluent Forms show its own error messages.
2 Nov 2026 (Claude, runbook 8.86; finding V-1 of the 8.85 test). Without this, the browser's own email check
stops the form when an address has no "@" and shows the browser's pop-up in the browser's language (English on
Arabic pages for most visitors), so our message from the forms standard (1.4) never appears.
"novalidate" switches off only the browser's own check: Fluent Forms still checks every field in the browser
and again on the server, so a badly formed address is still refused - now with our wording, in the page language.
Rollback: set this snippet to Draft. */
(function () {
function run() {
var forms = document.querySelectorAll('form.frm-fluent-form');
for (var i = 0; i < forms.length; i++) { forms[i].setAttribute('novalidate', 'novalidate'); }
}
/* Runs whether or not the page has finished loading (Breeze may delay scripts). */
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
ai_front = {"insertion_before":"BEFORE","insertion_after":"AFTER","insertion_prepend":"PREPEND CONTENT","insertion_append":"APPEND CONTENT","insertion_replace_content":"REPLACE CONTENT","insertion_replace_element":"REPLACE ELEMENT","visible":"VISIBLE","hidden":"HIDDEN","fallback":"FALLBACK","automatically_placed":"Automatically placed by AdSense Auto ads code","cancel":"Cancel","use":"Use","add":"Add","parent":"Parent","cancel_element_selection":"Cancel element selection","select_parent_element":"Select parent element","css_selector":"CSS selector","use_current_selector":"Use current selector","element":"ELEMENT","path":"PATH","selector":"SELECTOR"};