Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Saturday, July 4
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Environment»Coastal communities protest exclusion from marine research and conservation projects
    Environment

    Coastal communities protest exclusion from marine research and conservation projects

    Markel ZillaBy Markel ZillaJuly 4, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Coastal communities protest exclusion from marine research and conservation projects
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 20

    Coastal communities protest exclusion from marine research and conservation projects

    Coastal communities protest exclusion from marine research and conservation projects

    Participants at the annual Environmental Media Dialogue on ocean governance and marine ecosystem sustainability. (Photo: Courtesy)

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    3 min listen
    Audio reading is not supported on this browser.

    Residents along Kenya’s coast accuse researchers and organisations of excluding them from marine conservation projects and decision-making processes

    Coastal communities living along Kenya’s Indian Ocean coastline have raised concerns over continued exclusion from marine research and environmental conservation programmes, accusing some organisations and researchers of carrying out projects without adequately involving or benefiting residents.
    Residents say that despite their long-standing role in protecting mangroves, coral reefs and fish breeding grounds, they are often left out of planning and implementation of conservation initiatives in their areas.
    They further alleged that some external institutions benefit from marine-related research and funding, while host communities receive little or no direct returns.

    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
    • Kenya targets 10 per cent GDP contribution from mining under new 2026 policy
    • EU, IOM launch regional programme to tackle climate displacement, response
    • Uganda arrests Danish wildlife journalist Klaus Thymann amid press freedom concerns

    “We are the ones who live here and protect these resources every day, but when projects come, we are rarely involved in decision-making,” said Henry Kitsao, adding that consultations are often minimal or done as a formality.
    Another resident warned that conservation efforts risk losing local support if exclusion continues. “We support conservation, but it must also support us. Otherwise, people will feel left out of something happening in their own land and sea,” he said.
    The concerns were raised during the annual Environmental Media Dialogue, which brought together journalists, coastal communities, conservation practitioners and other stakeholders to discuss ocean governance and the sustainability of marine ecosystems.

    Latest Stories

    • Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
    • Report records 83 harassment incidents against Christians in Israel over three months
    • Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – report
    • Weekly new Ebola cases reach highest level since outbreak began: WHO

    Participants at the forum called for a more inclusive approach that recognises coastal communities as equal partners in marine conservation.
    They urged the government, development partners and research institutions to ensure projects deliver tangible benefits such as employment, skills transfer and community-led initiatives.
    The dialogue also highlighted gaps in reporting on ocean affairs, with stakeholders noting that issues such as illegal fishing, marine pollution and climate change impacts receive limited media attention despite their importance to livelihoods and the blue economy.
    Journalists were encouraged to give greater focus to marine and coastal stories to improve public awareness and strengthen accountability in the sector.

    Other Topics To Read

    Top Stories Today

    • Weekly new Ebola cases reach highest level since outbreak began: WHO
    • Report records 83 harassment incidents against Christians in Israel over three months
    • Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – report
    • Over 1,000 Sudanese return home from Egypt under ongoing repatriation programme
    • Somalia intelligence agency kills Al-Shabaab mortar unit leader in Basra operation
    • Court declares Ruaraka School land public, rules Sh1.5 billion payout illegal

    `;
    }

    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

    Rwanda to use Kenya’s fuel storage under new import dealBusiness
    |The New Times
    |1 day ago
    Junior Starlets edge closer to FIFA U-17 Women's World Cup after beating South Africa
    Junior Starlets edge closer to FIFA U-17 Women’s World Cup after beating South AfricaFootball
    |Erick Kariuki
    |2 hours ago
    Over 1,000 Sudanese return home from Egypt under ongoing repatriation programmeSouth Sudan
    |Bashir Mbuthia
    |1 hour ago
    Sudan’s people subject to ‘relentless’ drone strikes in El ObeidSudan
    |UN News
    |3 hours ago
    Court declares Ruaraka School land public, rules Sh1.5 billion payout illegal
    Court declares Ruaraka School land public, rules Sh1.5 billion payout illegalNews
    |Carolyne Kubwa
    |3 hours ago
    IGAD pushes regional action to tackle plastic pollution
    IGAD pushes regional action to tackle plastic pollutionNews
    |Rachael Mutabasi
    |11 hours ago
    UN agencies warn South Sudan funding shortfall pushes millions toward acute hungerRegional
    |XINHUA
    |13 hours ago
    Pope Leo XIV shines spotlight on Mediterranean migration crisisWorld
    |Mary Wambui
    |4 hours ago
    UK, France agree with Oman on multinational military mission to secure Strait of HormuzNews
    |Mary Wambui
    |11 hours ago
    Colombia beats Ghana to complete World Cup round of 16 lineupSports
    |XINHUA
    |13 hours ago

    Coastal Communities Exclusion From protest
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Markel Zilla
    • Website

    Related Posts

    The women deploying drones and data to protect Africa’s wildlife

    July 4, 2026

    Ivory Coast boosts renewable energy push with new solar power plant

    July 4, 2026

    Ankara and Africa

    July 4, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    Morocco Sets Historic World Cup Record to Become Africa’s Most Successful Team

    July 4, 2026

    CyberMedia Awards Night 2026: India’s digital ambitions need trust in young innovators

    July 4, 2026

    Nurses in British Columbia will picket the province’s largest hospital next week

    July 4, 2026

    McManis to make much-anticipated debut with Ticats

    July 4, 2026

    South Africa beat 13

    July 4, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    Morocco Sets Historic World Cup Record to Become Africa’s Most Successful Team

    Technology

    CyberMedia Awards Night 2026: India’s digital ambitions need trust in young innovators

    World News

    Nurses in British Columbia will picket the province’s largest hospital next week

    Most Popular

    Africa News

    McManis to make much-anticipated debut with Ticats

    Features

    South Africa beat 13

    Trending

    2026 FIFA WORLD CUP: Cape Verde’s fairytale ends, but a Nation wins the world’s respect – Africa Top Sports

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.