document.addEventListener("DOMContentLoaded", function() { // Select the latest-post container const latestPosts = document.querySelector('.latest-post'); if (latestPosts) { // Find the grid container inside const postsContainer = latestPosts.querySelector('.elementor-posts-container'); if (postsContainer) { // Set role="list" on the container postsContainer.setAttribute('role', 'list'); // Fix each article inside const articles = postsContainer.querySelectorAll('article.elementor-post'); articles.forEach(article => { // Ensure role="listitem" article.setAttribute('role', 'listitem'); // Fix thumbnail links tabindex const thumbLink = article.querySelector('.elementor-post__thumbnail__link'); if (thumbLink) { thumbLink.setAttribute('tabindex', '0'); } }); } } }); (function () { function cleanAltText(raw) { if (!raw) return ''; // Remove all # characters completely let cleaned = raw.replace(/#/g, ''); // collapse excessive whitespace cleaned = cleaned.replace(/\s{2,}/g, ' ').trim(); // remove leading/trailing punctuation or separators cleaned = cleaned.replace(/^[\s\-\:\|]+|[\s\-\:\|]+$/g, ''); // if nothing meaningful remains if (!cleaned || cleaned.length < 3) return ''; // keep under 125 chars return cleaned.slice(0, 125).trim(); } function processImg(img) { if (!img || !(img instanceof Element)) return; const feedRoot = document.getElementById('sb-tiktok-feeds-container-3'); if (!feedRoot || !feedRoot.contains(img)) return; const existingAria = img.getAttribute('aria-label'); if (existingAria && existingAria.trim().length) return; const alt = (img.getAttribute('alt') || '').trim(); const cleaned = cleanAltText(alt); if (cleaned) { img.setAttribute('aria-label', cleaned); } else if (alt && alt.length) { img.setAttribute('aria-label', 'TikTok post thumbnail'); } else { img.setAttribute('aria-label', 'TikTok post thumbnail'); } } function processAll() { const feedRoot = document.getElementById('sb-tiktok-feeds-container-3'); if (!feedRoot) return; feedRoot.querySelectorAll('img.sb-post-item-image').forEach(processImg); } document.addEventListener('DOMContentLoaded', processAll); window.addEventListener('load', processAll); const root = document.getElementById('sb-tiktok-feeds-container-3'); if (root) { const mo = new MutationObserver((mutations) => { for (const m of mutations) { m.addedNodes.forEach(node => { if (node.nodeType !== 1) return; if (node.matches?.('img.sb-post-item-image')) { processImg(node); } else { node.querySelectorAll?.('img.sb-post-item-image').forEach(processImg); } }); } }); mo.observe(root, { childList: true, subtree: true }); } })(); document.addEventListener("DOMContentLoaded", function () { // Find all links with "Learn more" const learnMoreLinks = document.querySelectorAll('a[href*="/practice-areas/"]:not([aria-label])'); learnMoreLinks.forEach(link => { // Find the closest parent container (loop item) const loopItem = link.closest('.e-loop-item'); if (loopItem) { // Find the heading (h3) inside that loop item const heading = loopItem.querySelector('h3.elementor-heading-title'); if (heading) { // Set aria-label based on the heading text link.setAttribute('aria-label', `Learn more about ${heading.textContent.trim()}`); } } }); }); // document.addEventListener('DOMContentLoaded', function() { // const owlDots = document.querySelectorAll('.owl-carousel .owl-dot'); // owlDots.forEach((dot, index) => { // // Add aria-label for accessibility // dot.setAttribute('aria-label', `Go to slide ${index + 1}`); // dot.setAttribute('role', 'button'); // // Set aria-current for active slide // if (dot.classList.contains('active')) { // dot.setAttribute('aria-current', 'true'); // } else { // dot.setAttribute('aria-current', 'false'); // } // // Optional: update aria-current dynamically on click // dot.addEventListener('click', () => { // owlDots.forEach(d => d.setAttribute('aria-current', 'false')); // dot.setAttribute('aria-current', 'true'); // }); // }); // }); // document.addEventListener("DOMContentLoaded", function() { // const owlDotsContainers = document.querySelectorAll('.sb-feed-posts .owl-dots'); // owlDotsContainers.forEach(container => { // const buttons = container.querySelectorAll('button.owl-dot'); // buttons.forEach((btn, index) => { // // Ensure aria-label exists // if (!btn.hasAttribute('aria-label') || btn.getAttribute('aria-label') === '') { // btn.setAttribute('aria-label', `Go to slide ${index + 1}`); // } // // Ensure role="button" // btn.setAttribute('role', 'button'); // // Set aria-current based on active class // btn.setAttribute('aria-current', btn.classList.contains('active') ? 'true' : 'false'); // }); // }); // }); // document.addEventListener("DOMContentLoaded", function() { function updateOwlDots(containerSelector = '.owl-dots') { const owlDotsContainers = document.querySelectorAll(containerSelector); owlDotsContainers.forEach(container => { const buttons = container.querySelectorAll('button.owl-dot'); buttons.forEach((btn, index) => { // Ensure aria-label exists if (!btn.hasAttribute('aria-label') || btn.getAttribute('aria-label') === '') { btn.setAttribute('aria-label', `Go to slide ${index + 1}`); } // Ensure role="button" btn.setAttribute('role', 'button'); // Set aria-current based on active class btn.setAttribute('aria-current', btn.classList.contains('active') ? 'true' : 'false'); }); }); } // Initial run updateOwlDots(); // Optional: observe dynamically added carousels const observer = new MutationObserver(() => updateOwlDots()); observer.observe(document.body, { childList: true, subtree: true }); }); // Add aria-labels to specific links document.addEventListener("DOMContentLoaded", function() { // For the "back to top" link const topLink = document.querySelector('a.elementor-icon[href="#top"]'); if (topLink) { topLink.setAttribute('aria-label', 'Back to top'); } // For the cancel link const cancelLink = document.querySelector('a.sbr_lb-cancel'); if (cancelLink) { cancelLink.setAttribute('aria-label', 'Cancel'); } // For the close link const closeLink = document.querySelector('a.sbr_lb-close'); if (closeLink) { closeLink.setAttribute('aria-label', 'Close'); } }); document.addEventListener("DOMContentLoaded", function() { // Find all dialogs const dialogs = document.querySelectorAll('div[role="dialog"]'); dialogs.forEach((dialog, index) => { // Skip if already has aria-label or aria-labelledby if (!dialog.hasAttribute('aria-label') && !dialog.hasAttribute('aria-labelledby')) { // Create a unique label const labelText = "Dialog window " + (index + 1); // Option 1: Use aria-label dialog.setAttribute('aria-label', labelText); // Optional: Log for debugging console.log(`Added aria-label="${labelText}" to dialog:`, dialog); } }); }); document.addEventListener("DOMContentLoaded", function() { // Select all loop items with our-team-loop class const teamItems = document.querySelectorAll('.our-team-loop'); teamItems.forEach(item => { // Find the heading link inside the item const headingLink = item.querySelector('.elementor-widget-heading h3 a'); if (!headingLink) return; // Skip if no heading link const personName = headingLink.textContent.trim(); if (!personName) return; // Skip if heading has no text // Find the "Read more" button inside this item const readMoreButton = item.querySelector('.elementor-button-link'); if (readMoreButton) { // Set the aria-label readMoreButton.setAttribute('aria-label', `Read more about ${personName}`); } }); }); document.addEventListener("DOMContentLoaded", function () { // Find all immigration loop items const items = document.querySelectorAll(".immigration-loop"); items.forEach(item => { // Get title from .elementor-icon-list-text const titleEl = item.querySelector(".elementor-icon-list-text"); if (!titleEl) return; const title = titleEl.textContent.trim(); if (!title) return; // Get the Read More button const readMore = item.querySelector("a.elementor-button.elementor-button-link"); if (!readMore) return; // Add aria-label readMore.setAttribute("aria-label", `Read more about ${title}`); }); }); (function () { // Run after DOM ready function initSkipLink() { // Find any skip link that looks like "skip to content" const skip = document.querySelector('a.skip-link[href^="#"], a[href^="#content"].skip-link, a.skip-link.screen-reader-text[href^="#"]'); if (!skip) return; // Ensure it's the very first focusable thing for keyboard users: // move it to be the first child of if it's not already first if (document.body.firstElementChild !== skip) { document.body.insertBefore(skip, document.body.firstElementChild); } // Get target id from href (strip leading '#') const targetId = (skip.getAttribute('href') || '').replace(/^#/, ''); if (!targetId) return; // Ensure the target exists; if not, try to find a good main candidate and give it the id let target = document.getElementById(targetId); if (!target) { target = document.querySelector('main, [role="main"], #primary, #content, .site-main'); if (target) { target.id = targetId; } else { // As a last resort create a focus target at top of body so link doesn't break const fallback = document.createElement('div'); fallback.id = targetId; document.body.appendChild(fallback); target = fallback; } } // Make sure target is programmatically focusable if (!target.hasAttribute('tabindex')) { target.setAttribute('tabindex', '-1'); } // Ensure activation moves keyboard focus into the target skip.addEventListener('click', function (e) { // Allow default anchor behavior, but also ensure focus lands on target // Use setTimeout to let the browser perform the fragment jump first setTimeout(function () { const t = document.getElementById(targetId); if (t) { try { t.focus({ preventScroll: false }); } catch (ex) { // fallback for older browsers t.focus(); } } }, 0); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSkipLink); } else { initSkipLink(); } })(); (function () { const tabSelector = '.e-n-tabs-heading'; const accordionSelector = '.e-n-accordion'; function fixTabindexes(container) { if (!container) return; container.querySelectorAll('[tabindex="-1"]').forEach(el => { el.setAttribute('tabindex', '0'); }); } function initWatcher(container) { if (!container || container.__fixed) return; // Initial fix fixTabindexes(container); // Fix again on click (Elementor updates attrs on click) container.addEventListener('click', () => fixTabindexes(container)); // Watch DOM changes inside container const observer = new MutationObserver((mutations) => { for (const m of mutations) { if ( m.type === 'childList' || (m.type === 'attributes' && m.attributeName === 'tabindex') ) { fixTabindexes(container); break; } } }); observer.observe(container, { childList: true, subtree: true, attributes: true, attributeFilter: ['tabindex'] }); container.__fixed = true; } function initAll() { document.querySelectorAll(tabSelector).forEach(initWatcher); document.querySelectorAll(accordionSelector).forEach(initWatcher); } // Run immediately initAll(); // Also watch entire page if tabs/accordions load later const rootObserver = new MutationObserver(initAll); rootObserver.observe(document.documentElement, { childList: true, subtree: true }); // Extra: run after page fully loads if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initAll); } })(); // Function to fix ARIA role function fixSwiperRoles() { const slides = document.querySelectorAll('.swiper-slide[role="group"]'); slides.forEach(slide => { slide.setAttribute('role', 'listitem'); }); } // Fix existing slides on page load document.addEventListener('DOMContentLoaded', () => { fixSwiperRoles(); }); // Optional: Observe for new slides added dynamically (like in Swiper) const swiperContainer = document.querySelector('.swiper-wrapper'); if (swiperContainer) { const observer = new MutationObserver(() => { fixSwiperRoles(); }); observer.observe(swiperContainer, { childList: true, subtree: true }); } document.addEventListener("DOMContentLoaded", function() { const iconLinks = document.querySelectorAll('a.elementor-icon'); iconLinks.forEach(link => { // Check if link has no text content and no aria-label if (!link.textContent.trim() && !link.hasAttribute('aria-label')) { // Set a descriptive label, e.g., based on href or context if (link.getAttribute('href') === '#top') { link.setAttribute('aria-label', 'Back to top'); } else { link.setAttribute('aria-label', 'Icon link'); } } }); });
US-ILC REPRESENTS IN ALL 50 STATES

Why Would Someone That’s Married to a US Citizen Be Deported?

At US-ILC, we listen, we care, we deliver: Let our 89 years of combined experience help you navigate the complexities of immigration law!

Marriage to a US citizen offers one of the most straightforward pathways to permanent resident status for foreign nationals. Despite that, someone who is married to a US citizen can be deported, since this type of marriage doesn’t automatically grant immigration status to a spouse or protect them from deportation.

If you are the spouse of a US citizen, you may be at risk of deportation in certain circumstances, such as the ones described below.

Reasons Why You May Still Be Deported

Marriage Fraud Related to Previous or Current Marriage

Marriage fraud is a serious accusation, and it can carry long-lasting penalties for foreign nationals. In some cases, it can even lead to deportation, even if the foreign national is married to a US citizen. You may be accused of marriage fraud if USCIS determines that you married a US citizen or permanent resident for the sole purpose of gaining an immigration benefit. If that were to occur, your immigrant petition or application to adjust status will be denied. If you already have a Green Card, your permanent resident status will be revoked based on marriage fraud. You will then be placed into deportation proceedings, unless you successfully overcome the fraud accusation. Your spouse may also face possible fines and even imprisonment for up to five years in the worst-case scenario, if they are found to have knowingly participated in the fraud.

Immigration Misrepresentation

USCIS will find you inadmissible to the United States if it is determined that you obtained an immigration benefit, such as a visa or permanent resident status, through any type of willful misrepresentation. This can include entering false information on an immigration application or failing to disclose crucial information during an interview. Even if you marry a US citizen, the misrepresentation finding will make you ineligible to apply for adjustment of status. Then if you are unable to overcome this accusation, you will be deemed deportable.

Failing To Remove Conditions on Green Card in Two Years

Some foreign nationals may not understand how vital it is to file an application to remove the conditions on their Green Card in a timely manner. As unlikely as it may seem, this is a realistic way to lose your Green Card status and be deportable, despite your marriage to a US citizen. Form I-751, Petition to Remove Conditions on Residence, must be filed during the 90-day period before your conditional Green Card expires. If you happen to divorce or lose your US citizen spouse while you are a conditional resident, you will need to have the joint filing requirement waived for the Form I-751. However, failing to act can lead to deportation.

Having a Criminal Conviction

Having a criminal conviction can lead to deportation even if you are married to a US citizen. Traditionally, the kind of criminal offense that could lead to deportation for foreign nationals were primarily aggravated felonies and crimes involving moral turpitude. However, the House recently passed a bill to make immigrants deportable if they are convicted for even minor, nonviolent crimes. Thus, if you have certain criminal convictions, your marriage to a US citizen will not automatically protect you as you will still be considered inadmissible to the US and eligible for deportation.

If you are married to a US citizen but have been ordered deported, or if you have questions regarding another immigration legal matter, contact U.S. Immigration Law Counsel for a strategy session to discuss your case.