Climate crisis threatens education in Africa -Save the Children
Climate crisis threatens education in Africa -Save the Children
Read this story aloud
Listen to the clean text version of this article
Ready
4 min listen
Audio reading is not supported on this browser.
The heavy rains and floods destroyed at least 62 primary schools nationwide, leaving over 15,000 children without a place to learn when schools reopened, according to an assessment by Save the Children and the Ministry of Education
Africa continues to grapple with the impact of climate change, with Kenya’s education sector being hardest hit by recent floods, Save the Children has said. The organisation highlighted the severe impact of the climate crisis on education in Africa.
Extreme weather events are forcing school closures, denying millions of children access to quality learning. “We must act to safeguard the future of education and ensure equal opportunities for all children,” said Save the Children on X. Extreme heat has exacerbated famine and malnutrition, putting countless children at risk.
According to Save the Children, about one billion children, or half of the world’s 2.2 billion children, live in countries highly susceptible to and often already experiencing the effects of climate change.
More To Read
- Slum residents urged to adopt ‘localised solutions’ to mitigate climate change effects
- How the cocoa price crash is crushing West African farmers
- Nearly 60 people killed in Ivory Coast floods since May
- EU, IOM launch regional programme to tackle climate displacement, response
- Uganda arrests Danish wildlife journalist Klaus Thymann amid press freedom concerns
- The international legal order is broken: Two key changes needed to fix it
Save the Children notes that 50 per cent of the approximately 250 million children and adolescents worldwide live in the 36 countries most vulnerable to the climate crisis. Despite representing only about a quarter of school-age children globally, these countries are least equipped to adapt to climate impacts.
The countries most vulnerable to climate change are often the poorest or most fragile, where children are already more likely to be out of school due to conflict, poverty, disability, and gender inequality. Climate change increases the likelihood of extreme weather events and natural disasters that disrupt education.
Since 2020, around 62 million children and adolescents in 27 countries have had their education disrupted by climate shocks, resulting in significant long-term impacts on learning due to school closures and increased heatwaves.
Latest Stories
- Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrations
- UN reviews impact as US ends support for AUSSOM logistics
- Protest victims decry exclusion from government compensation programme despite registration
- Nyaribari Chache MP Zaheer Jhanda summoned as police widen probe into Kisii political violence
In South Sudan, temperatures soared to 45°C, prompting the government to close schools for two weeks as this year’s hot season arrived earlier than usual.
The recent floods from March to May in Kenya severely disrupted learning and postponed school reopenings twice. The floods also left more than 250 people dead and displaced over 250,000. An assessment revealed that over 20,000 toilet blocks were either submerged or severely damaged, posing serious health risks to over 1.5 million schoolchildren nationwide, according to the government.
The heavy rains and floods destroyed at least 62 primary schools nationwide, leaving over 15,000 children without a place to learn when schools reopened, according to an assessment by Save the Children and the Ministry of Education. The floods raised concerns about the spread of water-related diseases due to contamination.
Many students, particularly those living along riparian lands, were severely affected by the floods and subsequent demolitions, leaving many stranded.
Some schools in slum areas were demolished, exacerbating the situation. Learners in regions such as Mathare, Kamkunji, and Mukuru kwa Njenga were particularly hard hit by the floods and demolitions. Many of these schools, which had been used as rescue centres, were reopened without undergoing proper repairs.
Education Cabinet Secretary Ezekiel Machogu recently announced that the ministry is collaborating with MPs to replace infrastructure in schools damaged by floods. Machogu stated that MPs have begun receiving allocations from the National Government Community Development Fund to facilitate the rehabilitation of these schools.
“We are awaiting the supplementary budget currently under discussion in Parliament. Meanwhile, MPs have been allocated funding from the NG-CDF,” said Machogu.
Each constituency received a minimum of Sh18 million for reconstruction efforts. “The priority now is to rehabilitate the infrastructure destroyed by the floods,” stressed Machogu.
He noted that the ministry has identified specific schools that need repairs. “We have detailed information on the number of schools damaged, the facilities requiring rehabilitation, and the specific schools affected,” he added.
Other Topics To Read
- Save the Children
- climate change
- Education Cabinet Secretary Ezekiel Machogu
Top Stories Today
- Nyaribari Chache MP Zaheer Jhanda summoned as police widen probe into Kisii political violence
- Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrations
- UN reviews impact as US ends support for AUSSOM logistics
- Protest victims decry exclusion from government compensation programme despite registration
- Machakos Mitumba Market traders suffer heavy losses after midnight fire
- Kenyans urged to join Saba Saba march to honour victims of alleged abductions, killings
`;
}
return “;
}
function commentActionsMarkup(comment, canComment) {
const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
const likeCount = Number(comment.like_count || 0) > 0
? “
: ”;
const likeButton = canComment && comment.status === ‘approved’
? “
: “;
const replyButton = canComment && comment.status === ‘approved’
? “
: ”;
return `
`;
}
function commentMarkup(comment, canComment, isReply = false) {
const pendingBadge = comment.status && comment.status !== ‘approved’
? “
: ”;
const edited = comment.is_edited
? “
: ”;
const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
? `
`
: “;
return `
`;
}
function replyFormMarkup(commentId) {
return `
`;
}
function setNotice(widget, message, type = ‘info’) {
const notice = widget.querySelector(‘[data-role=”notice”]’);
if (!notice) return;
if (!message) {
notice.hidden = true;
notice.textContent = ”;
notice.classList.remove(‘is-error’);
return;
}
notice.hidden = false;
notice.textContent = message;
notice.classList.toggle(‘is-error’, type === ‘error’);
}
function setCount(widget, total) {
const count = widget.querySelector(‘[data-role=”count”]’);
if (!count) return;
const num = Number(total || 0);
count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
}
function openReplyBox(widget, commentId) {
widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
box.hidden = true;
box.innerHTML = ”;
});
const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (!targetItem) return;
const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
if (!replyBox) return;
replyBox.hidden = false;
replyBox.innerHTML = replyFormMarkup(commentId);
const textarea = replyBox.querySelector(‘textarea’);
if (textarea) textarea.focus();
}
function closeReplyBox(container) {
if (!container) return;
container.hidden = true;
container.innerHTML = ”;
}
async function initCommentsWidget(widget) {
const state = {
articleId: Number(widget.dataset.articleId),
loadUrl: widget.dataset.loadUrl,
storeUrl: widget.dataset.storeUrl,
commentsBaseUrl: widget.dataset.commentsBaseUrl,
canComment: widget.dataset.canComment === ‘1’,
page: 1,
perPage: 10,
sort: ‘newest’,
total: 0,
hasMore: false,
busy: false
};
const list = widget.querySelector(‘[data-role=”list”]’);
const loading = widget.querySelector(‘[data-role=”loading”]’);
const empty = widget.querySelector(‘[data-role=”empty”]’);
const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);
async function loadComments(reset = true) {
if (state.busy) return;
state.busy = true;
setNotice(widget, ”);
loading.hidden = false;
if (reset) {
state.page = 1;
list.innerHTML = ”;
empty.hidden = true;
}
try {
const url = new URL(state.loadUrl, window.location.origin);
url.searchParams.set(‘page’, state.page);
url.searchParams.set(‘per_page’, state.perPage);
url.searchParams.set(‘sort’, state.sort);
const response = await requestJson(url.toString(), {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
‘X-Requested-With’: ‘XMLHttpRequest’
}
});
const items = Array.isArray(response.data) ? response.data : [];
const meta = response.meta || {};
state.total = Number(meta.total || 0);
state.hasMore = !!meta.has_more;
setCount(widget, state.total);
if (reset) {
list.innerHTML = ”;
}
if (!items.length && reset) {
empty.hidden = false;
} else {
empty.hidden = true;
list.insertAdjacentHTML(
‘beforeend’,
items.map(item => commentMarkup(item, state.canComment, false)).join(”)
);
}
loadMoreBtn.hidden = !state.hasMore;
} catch (error) {
if (!list.children.length) {
empty.hidden = false;
empty.textContent = ‘Unable to load comments right now.’;
}
setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
} finally {
loading.hidden = true;
state.busy = false;
}
}
async function submitTopLevelComment(form) {
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘[data-role=”submit-comment”]’);
if (!textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(state.storeUrl, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
textarea.value = ”;
if (response?.data) {
list.insertAdjacentHTML(
‘afterbegin’,
commentMarkup(response.data, state.canComment, false)
);
empty.hidden = true;
if ((response.data.status || ”) === ‘approved’) {
state.total += 1;
setCount(widget, state.total);
}
}
setNotice(widget, response.message || ‘Comment posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post comment’;
}
}
}
async function submitReply(form) {
const commentId = Number(form.dataset.commentId || 0);
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘.ev-comments__reply-submit’);
if (!commentId || !textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
if (response?.data) {
const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (parentItem) {
const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
if (repliesWrap) {
repliesWrap.insertAdjacentHTML(
‘beforeend’,
commentMarkup(response.data, state.canComment, true)
);
}
}
}
closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
setNotice(widget, response.message || ‘Reply posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post reply’;
}
}
}
async function toggleLike(button) {
const commentId = Number(button.dataset.commentId || 0);
if (!commentId) return;
const originalHtml = button.innerHTML;
try {
button.disabled = true;
button.innerHTML = ‘Working…’;
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({})
});
const liked = !!response?.data?.liked;
const likeCount = Number(response?.data?.like_count || 0);
button.classList.toggle(‘is-liked’, liked);
button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
} catch (error) {
button.innerHTML = originalHtml;
setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
} finally {
button.disabled = false;
}
}
if (composerForm) {
composerForm.addEventListener(‘submit’, function (e) {
e.preventDefault();
submitTopLevelComment(composerForm);
});
}
if (sortSelect) {
sortSelect.addEventListener(‘change’, function () {
state.sort = this.value || ‘newest’;
loadComments(true);
});
}
if (loadMoreBtn) {
loadMoreBtn.addEventListener(‘click’, function () {
if (state.busy || !state.hasMore) return;
state.page += 1;
loadComments(false);
});
}
widget.addEventListener(‘click’, function (e) {
const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
if (likeBtn) {
e.preventDefault();
toggleLike(likeBtn);
return;
}
const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
if (replyBtn) {
e.preventDefault();
openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
return;
}
const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
if (cancelReplyBtn) {
e.preventDefault();
closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
}
});
widget.addEventListener(‘submit’, function (e) {
const replyForm = e.target.closest(‘.ev-comments__reply-form’);
if (replyForm) {
e.preventDefault();
submitReply(replyForm);
}
});
loadComments(true);
}
document.addEventListener(‘DOMContentLoaded’, function () {
document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
});
})();
Trending
Kenyans urged to join Saba Saba march to honour victims of alleged abductions, killingsNews
|Lucy Mumbi
|2 hours ago
Nyaribari Chache MP Zaheer Jhanda summoned as police widen probe into Kisii political violenceNews
|Lucy Mumbi
|1 hour ago
UN reviews impact as US ends support for AUSSOM logisticsSomalia
|Abdirahman Khalif
|50 minutes ago
Protest victims decry exclusion from government compensation programme despite registrationNews
|Lucy Mumbi
|1 hour ago
Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plansSports
|Bashir Mbuthia
|13 hours ago
Messi makes history as Argentina survive Cape Verde’s unforgettable World Cup fightNews
|Erick Kariuki
|1 day ago
Report records 83 harassment incidents against Christians in Israel over three monthsMiddle-East
|Bashir Mbuthia
|14 hours ago
Three arrested after Linda Mwananchi convoy attacked in Kisii as police hunt for more suspectsNews
|Lucy Mumbi
|4 hours ago
Government announces final repatriation flight for Kenyans in South AfricaNews
|Rachael Mutabasi
|1 day ago
Sudanese army intensify offensive to retake strategic city of Kurmuk on Ethiopia borderRegional
|Addis Standard
|22 hours ago
