Connect with us

Wisconsin

Apparent Suspension of Student Groups at Wisconsin for Pro-Hamas Chalking

Published

on

Apparent Suspension of Student Groups at Wisconsin for Pro-Hamas Chalking


From FIRE’s letter sent yesterday to the University of Wisconsin (you can see the citations here); I generally trust FIRE’s factual summaries, but if there is any error in the below, I’ll of course be very glad to correct it:

FIRE is deeply concerned that UW-Madison has suspended two registered student organizations—Anticolonial Scientists and Mecha de UW Madison—amid criticism of chalk messages some group members allegedly wrote at an off-campus event earlier this month. Some of the messages expressed support for terrorist groups like Hezbollah and Hamas’s Al-Qassam Brigades, and advocated the use of violence against Israelis and Zionists in the Middle East.

The student groups are currently under interim suspensions, pending investigation, with UW stating that, because “[s]ome chalkings endorsed violence, supported terrorist organizations and/or contained antisemitic comments,” they could qualify as prohibited discriminatory harassment under the university’s RSO Code of Conduct. But that conclusion cannot constitutionally stand. The off-campus chalk messages constitute political speech wholly protected by the First Amendment, which requires UW, as a public institution, to respect the groups’ expressive and associational rights—even if some, many, or most people dislike their message.

There is, more specifically, no First Amendment exception that would remove protection from speech simply because it is deemed “anti-Semitic” or otherwise bigoted based on race or religion. Regardless of the viewpoint expressed, the rule is the same: Government officials cannot circumscribe expression on the basis that others find the ideas offensive or hateful.

This is particularly true at public colleges, where “conflict is not unknown,” and “dissent is expected and, accordingly, so is at least some disharmony.” The First Amendment instead “embraces such heated exchange[s] of views.”

Advertisement

The Supreme Court has long recognized the public’s interest “in having free and unhindered debate on matters of public importance” as “the core value of the Free Speech Clause of the First Amendment.” And there is simply no question that chalking support for any participants in the Israel/Hamas war—the reverberations of which have been felt globally for many months—constitutes expression on a matter of public concern, which is defined broadly as speech “relating to any matter of political, social, or other concern to the community.”

Nor is there evidence (despite UW’s suggestion) that the students’ political messages, written in chalk at a farmers’ market nearly a mile from campus, would approach the legal bars for either material support for terrorism or discriminatory harassment—even if those same words had been written on UW’s own sidewalks.

The Supreme Court defines discriminatory harassment in the educational context as only those statements which are unwelcome, discriminatory on the basis of protected status, and “so severe, pervasive, and objectively offensive that it can be said to deprive the victim[] of access to the educational opportunities or benefits provided by the school.” The U.S. Department of Education’s Office for Civil Rights has likewise clarified that discriminatory harassment “must include something beyond the mere expression of views, words, symbols, or thoughts that some person finds offensive.”

Current events do not change this analysis. Earlier this month, OCR reiterated that “offensiveness of a particular expression as perceived by some students, standing alone, is not a legally sufficient basis to establish a hostile environment under Title VI,” and that “[n]othing in Title VI or regulations implementing it requires or authorizes a school to restrict any rights otherwise protected by the First Amendment to the U.S. Constitution.” OCR’s letter also emphasized that campuses have options for addressing the impact of hostile speech that avoid offending the First Amendment, including by offering a variety of support services to affected students.

UW’s own discriminatory harassment policies and RSO rules reflect these appropriate limits on its ability to punish core political speech, with the RSO rules clearly stating they “will not be used to impose discipline for the lawful expression of ideas” and that “[t]he right of all students to seek knowledge, debate, and freely express their ideas is fully recognized by the University.” This is surely because, as you know, free expression is a “longstanding priority” at UW-Madison, which has a dedicated mission and a values statement focused on “Free Expression at UW-Madison.” That statement describes “the need for the free exchange of ideas through open dialogue, free inquiry, and healthy and robust debate,” as “inherent” to the university’s educational mission, “captured by our now-famous language about the importance of ‘that fearless sifting and winnowing by which alone truth can be found.’”

Student organizations play an important role in the healthy speech ecosystem that UW’s mission and values seek to foster. In turn, the First Amendment protects these groups’ expressive and associational rights, fostering their ability to organize around causes and to attempt to influence our institutions, communities, and country. Nor can universities subject the speech of students in RSOs to additional, viewpoint-based scrutiny.

Advertisement

Instead, student groups’ speech rights are broad, and they extend to expressing philosophical support for the use of force or violence. As the Supreme Court has held: “What is a threat must be distinguished from what is constitutionally protected speech,” including “political hyperbole,” given our country’s “profound national commitment to the principle that debate on public issues should be uninhibited, robust, and wide-open.”

Government actors may prohibit non-expressive conduct intended to provide material support, like property or services, to designated foreign terrorist organizations.   But the First Amendment’s protection of robust debate prohibits government actors from limiting mere expressive activity or rhetorical support for such groups. That is so even where the net effect of the advocacy is to sway public opinion.

Despite what may be good intentions, UW does its community no service by censoring these controversial messages. Like many universities, UW is a community of people with sharply divergent views on a wide variety of issues. To the extent the chalked messages have informed UW students, faculty, and staff members of the presence of individuals with these views on campus, this should be seen as an opportunity for those who disagree either to engage with them in good faith—or, if they wish, to avoid such engagement. Censoring them will do nothing to change their minds, and will deny all parties the opportunity to learn from one another.

The First Amendment, and UW’s longstanding commitment to its attendant norms, are most relevant on campus at precisely the moments like these, when social and political unrest triggers high emotions, deep divisions, and the temptation to turn to censorship. When a university departs from its core principles at these key moments and resorts to silencing views it deems odious, it sends the message that the university has subordinated both the rights of its students and its mission of liberal education to the political demands of the day.

We therefore urge you in the strongest possible terms, in this difficult season for campus discourse, to stand by the university’s legal and moral obligations to respect students’ core expressive freedoms. This requires promptly reinstating the Anticolonial Scientists and Mecha de UW Madison student organizations, and publicly disavowing any ongoing investigation into their clearly protected political speech.

Advertisement

Given the urgent nature of this matter, we request a substantive response to our inquiry no later than close of business Thursday, May 23, 2024.

The legal analysis sounds quite right to me. Note that, even if the government could forbid chalking in various places (and it’s not clear whether it can), it can’t specially punish chalking that conveys particular views, including advocacy of foreign terrorist organizations and support for violence in foreign conflicts.



Source link

Advertisement

Wisconsin

NWS is investigating possible tornado touchdowns across 5 Wisconsin counties

Published

on

NWS is investigating possible tornado touchdowns across 5 Wisconsin counties


play

The National Weather Service in Milwaukee/Sullivan is assessing storm damage to confirm if tornadoes touched down April 14 in three areas near southeastern Wisconsin.

J.J. Wood, a meteorologist with the National Weather Service in Milwaukee/Sullivan, said teams are going out Wednesday, April 15, to Sussex, as well as Endeavor in Marquette County and an area around eastern Walworth County and western Racine and Kenosha Counties, to look into the damage.

Advertisement

He said that based on reports and radar signatures, meteorologists suspect the damage came from tornadoes, but will not be able to confirm whether tornadoes touched down, or if the damage just came from powerful winds, until the teams assess the areas.

“It might take today and tomorrow for them to really assess everything before we can get final numbers,” Wood said. “We’re not going to be able to get to everything today.”

A tornado warning was issued for Milwaukee County around 6:30 p.m. Tuesday, lasting until around 7:15 p.m. The National Weather Service warned that a “tornadic thunderstorm” would impact Milwaukee, Wauwatosa, Brown Deer, Elm Grove, Glendale and River Hills.

Advertisement

Around 8:30 p.m. the National Weather Service issued a tornado warning for Racine County. Just before 9 p.m., the warning extended into much of Kenosha County, including the cities of Kenosha, Pleasant Prairie and Somers.

Damage from the April 14 storms was caused by more than just intense winds; large hail also hit areas closer to Madison.

“The east side of Madison has some very large hail – a lot of golf ball to up to baseball-sized [hailstones]. We got a report or two of softball-sized hail … so there’s a lot of hail damage there,” Wood said.

Large hail was also documented in Waukesha and Jefferson counties, he said, and some flooding took place across areas of southeastern Wisconsin.

Advertisement

“It wasn’t anything major, but we did have some minor flooding in some low areas,” Wood said.

While storms may hit the area again April 15, they will likely not be as severe.

“If anything does occur, it won’t be like [April 14],” Wood said. “I think hail and wind would be the biggest risk, if we see anything later today into this evening.”

Contact Kelli Arseneau at (920) 213-3721 or karseneau@gannett.com. Follow her on X at @ArseneauKelli.





Source link

Advertisement
Continue Reading

Wisconsin

Powerful storms move through SE Wisconsin

Published

on

Powerful storms move through SE Wisconsin


Severe storms move through southeast Wisconsin bringing damage and flooding.

Advertisement

Powerful storms move through SE Wisconsin

Severe storms move through southeast Wisconsin bringing damage and flooding.

Advertisement

>> FROM WEATHERWATCH 12. THIS IS A SEVERE WEATHER UPDATE. >> GOOD EVENING. AND WEATHERWATCH 12 CHIEF METEOROLOGIST MARK BADEN NEW SEVERE THUNDERSTORM WARNING AND NEW FLASH FLOOD WARNING TO TALK ABOUT HERE ACROSS SOUTHEASTERN WISCONSIN. SO WE STILL HAVE THIS LINE OF STORMS. THE NEW SEVERE THUNDERSTORM WARNING IS PRETTY MUCH ALL OF WANT TO STOP THIS AND TALK ABOUT THE WARNINGS THAT WE DO HAVE IN PLACE RIGHT NOW. TALK ABOUT THE LATEST WARNING. THAT’S THE SEVERE THUNDERSTORM WARNING FOR WALWORTH COUNTY GOES ALL THE WAY UNTIL 9:00. THE STORMS ARE STILL OUT TO THE WEST. THAT’S GOING TO BRING WITH IT POSSIBLY SOME STRONGER WINDS AND SOME HAIL. THERE’S ALSO A NEW FLASH FLOOD WARNING THAT CONTINUES UNTIL 11:00. I’M GOING TO ZOOM IN ON THIS AREA BECAUSE IT LOOKS A LITTLE IT’S KIND OF HARD TO FIND WHERE THIS IS. LET’S TAKE YOU BACK INTO SOUTHEASTERN WISCONSIN AND WE’LL BRING YOU BACK IN TO THIS AREA THAT WE ARE SEEING HERE. IT’S SO WE’VE GOT THIS LITTLE AREA AND THAT’S ON TOP OF THIS OTHER FLASH FLOOD WARNING. BUT THIS IS THE NEWEST ONE. THIS INCLUDES DOWNTOWN MILWAUKEE. THIS INCLUDES WAUWATOSA AND WEST ALLIS, BROOKFIELD, ELM GROVE AND PEWAUKEE. WHY? BECAUSE WE KEEP GETTING THIS SAME RAIN OVER THE SAME PLACES, GETTING HIT AGAIN AND AGAIN AND AGAIN. ADD UP. WE’RE SEEING SOME FLOODING ISSUES. WE’VE HAD FLOODING ISSUES ALONG I-43 IN NORTHERN MILWAUKEE COUNTY. WE’VE HAD SOME FLOODING ISSUES IN MEQUON, AND I’M SURE WE’RE HAVING FLOODING ISSUES ALSO INTO PARTS OF WASHINGTON COUNTY EXTENDING BACK INTO DODGE COUNTY, WHERE WE CONTINUE TO SEE THIS SAME AREA. THEN THE NEXT PART OF THIS STORM, AGAIN, THIS AREA HASN’T HAD ANY RAIN AT ALL. SO YOU’RE STILL PRIMED FOR THE POSSIBILITY OF MORE SEVERE WEATHER. THAT’S WHAT THIS NEW SEVERE THUNDERSTORM WARNING IS INTO PARTS OF WALWORTH COUNTY. AGAIN, THAT GOES UNTIL 9:00 TONIGHT. AND WE’LL CONTINUE TO SEE THIS HEAVY RAIN. WE NEED TO MAKE IT THROUGH ANOTHER HOUR OR TWO, AND THEN WE SHOULD START SEEING OURSELVES ON THE OTHER SIDE, AT LEAST OF THIS THREAT. BUT IT’S NOT DONE JUST YET. STAY WITH WEATHERWATCH 12. WE’LL CONTINUE TO HAVE UPDATES.

Advertisement

Powerful storms move through SE Wisconsin

Severe storms move through southeast Wisconsin bringing damage and flooding.

Updated: 8:15 PM CDT Apr 14, 2026

Editorial Standards

Advertisement

Severe storms move through southeast Wisconsin bringing damage and flooding.

Severe storms move through southeast Wisconsin bringing damage and flooding.

Advertisement

Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

Advertisement

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

Advertisement

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wisn.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wisn.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

Advertisement

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

Advertisement

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

Advertisement

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

Advertisement

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

Advertisement

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

Advertisement

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wisn.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wisn.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

Advertisement

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

Advertisement

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…



Source link

Advertisement
Continue Reading

Wisconsin

A tornado touched down in Taylor County on April 13, NWS confirms

Published

on

A tornado touched down in Taylor County on April 13, NWS confirms


play

The National Weather Service station in La Crosse confirmed a tornado touched down in Gilman, a town in Taylor County, Monday evening, April 13.

La Crosse station meteorologist Alex Ferguson said they have not received any potential damage reports yet, but are working with local authorities in the Taylor County to confirm more details about the tornado.

Advertisement

Speed and severity are usually calculated after the fact based on potential damages, Ferguson said.

There is an enhanced risk of further severe thunderstorms in southwest and east central Wisconsin Tuesday evening, April 14, according to the NWS.



Source link

Advertisement
Continue Reading

Trending