ActionAid warns of crisis as austerity slashes African health, education workers’ pay
ActionAid warns of crisis as austerity slashes African health, education workers’ pay
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.
Across the six countries surveyed, an average of 40 per cent of teachers reported a reduction in income, while 34 per cent said the increased workload has strained their relationships
A new report by international NGO ActionAid has revealed that government-imposed budget cuts across six African nations have slashed the incomes of education and public health workers, falling by up to 50 per cent over the past five years, leaving many unable to sustain their livelihoods.
The survey, titled “The Human Cost of Public Sector Cuts in Africa”, was conducted across Kenya, Ethiopia, Ghana, Liberia, Malawi and Nigeria, drawing on the perspectives of 616 public health workers, teachers and communities that use their services.
Across the six countries surveyed, an average of 40 per cent of teachers reported a reduction in income, while 34 per cent said the increased workload has strained their relationships.
Alarmingly, 47 per cent of teachers said they had not received any professional training in the last three to five years, while 44 per cent indicated they plan to leave the profession altogether, pointing to a looming crisis in the education and healthcare sectors.
“Public education services are stretched to their limits. Teachers face compounding pressures from financial hardship, overcrowded classrooms, mental stress, and climate-induced challenges,” the report reads.
In the health sector, across the six countries surveyed, an average of 97 per cent of healthcare workers reported receiving insufficient pay compared to 2020, 93 per cent experienced increased stress, 52 per cent reported reduced training opportunities, and 32 per cent said they plan to leave the profession.
Latest Stories
- Protest victims decry exclusion from government compensation programme despite registration
- Nyaribari Chache MP Zaheer Jhanda summoned as police widen probe into Kisii political violence
- Machakos Mitumba Market traders suffer heavy losses after midnight fire
- Kenyans urged to join Saba Saba march to honour victims of alleged abductions, killings
Sense of despair
“A growing sense of despair is taking root among communities, as health services continue to deteriorate. FGDs with 320 community members from selected areas in the six countries reveal deep dissatisfaction with healthcare delivery,” said ActionAid.
“Frustrated by rising costs, shortage of health workers, and poor infrastructure, communities’ rights are being violated in public health systems.”
ActionAid has faulted the International Monetary Fund (IMF) for the deterioration of public services in the surveyed countries, calling out the institution for pressuring governments to implement budget cuts that have undermined the health and education sectors.
“We urge the IMF to stop imposing austerity measures and privatisation, and focus instead on progressive tax reforms and debt relief or cancellation to increase government revenues for greater investment in public services,” said ActionAid.
The NGO also urged African governments to reject coercive IMF policies, seek debt relief or cancellation, and expand tax revenues in fair ways to rebuild public health and education workforces and infrastructure.
Democratisation of decisions
“They should demand the democratisation of decisions on debt relief and cancellation, with the creation of a UN Framework Convention on Sovereign Debt, and support the UN Framework Convention on Tax,” it said.
“They should also prioritise the substantive gender equality commitments made in the groundbreaking Beijing Declaration and Platform for Action – 30 years old this year – by ensuring that women’s rights are upheld in economic policy. ”
ActionAid added that education ministries should also collaborate with finance ministries to ensure that at least 20 per cent of national budgets are allocated to education, in line with global benchmarks.
According to Action Aid, health ministries should work with finance ministries to ensure the achievement of the Abuja Declaration benchmark of allocating 15 per cent of the national budget towards healthcare.
“They need to recruit more health workers, ensure they are fairly remunerated, allocate more resources to public health facilities, improve healthcare infrastructure, and provide mental health support for workers,” said ActionAid.
Other Topics To Read
Top Stories Today
- Nyaribari Chache MP Zaheer Jhanda summoned as police widen probe into Kisii political violence
- 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
- Quiet revolution behind foldable smartphones and why they’re making a comeback
- Invisible peacebuilders: How ‘diplomacy works’ to prevent conflict
`;
}
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
Captain Riyad Mahrez announces retirement after Algeria World Cup exit2026 FIFA World Cup
|Bashir Mbuthia
|1 day ago
Nyaribari Chache MP Zaheer Jhanda summoned as police widen probe into Kisii political violenceNews
|Lucy Mumbi
|48 minutes ago
Quiet revolution behind foldable smartphones and why they’re making a comebackTechnology
|Margaret Wanjiru
|2 hours ago
Mbappé fires France past Paraguay into World Cup quarter-finalsSports
|Erick Kariuki
|4 hours ago
16 CITAM Woodley pupils stable after bee attack during Lake Baringo tourNews
|Rachael Mutabasi
|1 day ago
AFRICOM outlines its African-led, US-enabled strategy to address security threats across the continentAfrica
|Mary Wambui
|1 day ago
Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plansSports
|Bashir Mbuthia
|12 hours ago
Machakos Mitumba Market traders suffer heavy losses after midnight fireNews
|Lucy Mumbi
|1 hour ago
Sudanese army intensify offensive to retake strategic city of Kurmuk on Ethiopia borderRegional
|Addis Standard
|20 hours ago
From mixing dirty whites to overloading the machine: 6 common laundry mistakesLifestyle
|Margaret Wanjiru
|1 day ago
