Palestinian legislative vote set for Nov 28 - presidential decree

A woman walks past the rubble of a Palestinian home demolished by Israeli forces in the village of al-Rifayia, south of Hebron in the occupied West Bank, on July 9, 2026 (AFP photo)
A woman walks past the rubble of a Palestinian home demolished by Israeli forces in the village of al-Rifayia, south of Hebron in the occupied West Bank, on July 9, 2026 (AFP photo)

RAMALLAH, Palestinian Territories — Palestinian President Mahmoud Abbas issued a decree on Thursday setting legislative elections for November 28, which if they take place, would mark the first such vote in two decades.

The last legislative elections in the Palestinian territories were held in 2006, when Hamas won, defeating Abbas's Fatah party, which had previously dominated Palestinian politics.

As a result, the Palestinian Legislative Council, which is the parliament of Abbas's Palestinian Authority, has not met since 2007.

"The presidential decree calls on the Palestinian people in Jerusalem, the West Bank and the Gaza Strip to participate in free and direct legislative elections to elect members of the Palestinian Legislative Council on the date specified," the official Wafa news agency reported, citing the decree.

Holding elections is part of the reforms demanded by the international community, which supports the Palestinian Authority financially.

In 2021, Abbas announced legislative and presidential elections to be held in May and July of that year respectively.

They were then postponed indefinitely due to the absence of guarantees that voting could take place in east Jerusalem, which Israel has occupied since 1967.

In April, Palestinians went to the polls to elect municipal council heads in the occupied West Bank, in the first vote since the outbreak of the Gaza war in October 2023.

The PA has faced widespread criticism over corruption, stagnation and declining legitimacy, with donors increasingly tying their financial and diplomatic support to reform, particularly of local governance.

In June, Abbas announced that presidential elections would be held in early 2027, without saying if he would run.

.col-lg-12.second .opinion-widget{border-top:1px solid #D0D0D0;} #widget_1623 .opinions-title {font-size:32px;} #widget_1623 .opinions-title a{font-size:32px;} .first-author{ background-color:#ecedef; } .first-opinion-author-name{ background-color:white; width:max-content; padding:5px; }
.epaper-separator{ height: 1px; width: 100%; background-color: #D0D0D0; margin: 15px 0; }

Today’s Paper

.related-articles .article-widget-sm .article-title{font-size:16px;-webkit-line-clamp:3;} .related-articles .layout-ratio{padding-bottom:55%;}
.alert-success { color :#A3656F ; } .alert-danger { color : red ; } .footer { font-family:Myriad Pro,Arial; } .newspaper-footer{ visibility:hidden; } .socialFixOuter { position: fixed; top: 50%; margin-top: 40px; right: 0; transition: .2s; z-index: 20; height: 217px; width: 40px; } .socialFix { height: 30px; width: 30px; display: block; position: relative; cursor: pointer; background-size: 18px 18px; transition: .2s; background-position: center; background-repeat: no-repeat; border-radius: 2px; margin-top: 1px; } .socialFix:hover { width: 40px; margin-left: -10px; } .app-badge-img { height: 36px; width: auto; } @media (max-width: 768px) { .app-badge-img { height: 32px; } .app-badges { justify-content: center !important; } }
document.addEventListener("DOMContentLoaded", function () { const socialFix = document.querySelector(".socialFixOuter"); if (!socialFix) return; let firstInteraction = false; let hideTimeout = null; function checkMobileScreen() { if (window.innerWidth < 768) { socialFix.style.display = "none"; } else { socialFix.style.display = "block"; } } checkMobileScreen(); window.addEventListener("resize", checkMobileScreen); function handleFirstInteraction() { if (firstInteraction) return; if (window.innerWidth < 768) return; firstInteraction = true; socialFix.style.right = "-25px"; } socialFix.addEventListener("mouseenter", function () { if (window.innerWidth < 768) return; if (hideTimeout) clearTimeout(hideTimeout); socialFix.style.right = "0"; }); socialFix.addEventListener("mouseleave", function () { if (window.innerWidth < 768) return; if (hideTimeout) clearTimeout(hideTimeout); hideTimeout = setTimeout(() => { socialFix.style.right = "-25px"; }, 500); }); ["click", "touchstart"].forEach((evt) => { socialFix.addEventListener(evt, handleFirstInteraction); }); }); function validateEmail(email) { if (email.length > 255) return false; const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; if (!emailRegex.test(email)) return false; if (email.includes('..') || email.startsWith('.') || email.endsWith('.')) return false; return true; } function sanitizeInput(input) { input = input.replace(/<[^>]*>/g, ''); input = input.replace(/javascript:/gi, ''); input = input.replace(/on\w+\s*=/gi, ''); input = input.replace(/[<>"'&(){}[\]]/g, ''); return input.trim(); } document.addEventListener('DOMContentLoaded', function () { function showModal(message, type) { const messageContainer = document.getElementById("messageContainerFooter"); messageContainer.textContent = message; messageContainer.className = `alert alert-${type} mt-3`; messageContainer.classList.remove("d-none"); setTimeout(() => { messageContainer.classList.add("d-none"); }, 5000); } document.getElementById("emailFormFooter").addEventListener("submit", function(event) { event.preventDefault(); const emailInput = document.getElementById("emailFooter"); const email = sanitizeInput(emailInput.value.trim()); if (!validateEmail(email)) { showModal('Invalid email format', 'danger'); return; } const formData = new FormData(); formData.append('email', email); fetch('/subscribeNewsletter', { method: "POST", body: formData, headers: { "Accept": "application/json", "X-Requested-With": "XMLHttpRequest" } }) .then(response => { if (!response.ok) { showModal("Error submitting email. Try again.", 'danger'); } return response.json(); }) .then(data => { showModal(data.message, 'success'); }) .catch(error => { showModal("Error submitting email. Try again.", 'danger'); }); }); });